[wix-devs] How to make an execution order of a Custom Action configurable?

Christopher Painter chrpai at iswix.com
Fri Mar 1 04:30:49 PST 2019


This is the wix-devs mailing list.  User questions should be directed to wix-users.

That said (since I already typed it).....

You can have a schedule (immediate) custom action that calls DoAction to schedule the deferred custom actions.

FWIW, something feels off here.   1) your custom action names suggest that you are reinventing the wheel and 2)  InstallValidate is before InstallInitialize.  I don't see how scheduling CreateFolder after InstallValidate could be a deferred custom action.

I'd suggest making sure you read these three articles:

http://www.installsite.org/pages/en/isnews/200108/index.htm

http://robmensching.com/blog/posts/2007/8/17/zataoca-custom-actions-are-generally-an-admission-of-failure/

http://robmensching.com/blog/posts/2007/9/13/zataoca-custom-actions-should-be-data-driven/


Please don't reply to this.  Take it to wix-users.

________________________________
From: wix-devs <wix-devs-bounces at lists.wixtoolset.org> on behalf of Wix Dev via wix-devs <wix-devs at lists.wixtoolset.org>
Sent: Friday, March 1, 2019 6:10 AM
To: wix-devs at lists.wixtoolset.org
Cc: Wix Dev
Subject: [wix-devs] How to make an execution order of a Custom Action configurable?

I am in progress with a custom WiX Toolset Extension and would like to
know, if it is possible to make a custom action's order configurable?

For example, I have two actions:

   1.

   *CreateFolder* Custom Action:

   <CustomAction Id="CreateFolder" BinaryKey="My.Ext.CA"
   DllEntry="CreateFolder" Execute="deferred">
   2.

   *ExecuteSql* Custom Action:

   <CustomAction Id="ExecuteSql" BinaryKey="My.Ext.CA"
   DllEntry="ExecuteSql" Execute="deferred">

They are placed in the InstallExecuteSequence in the next order:

<InstallExecuteSequence>
            <Custom Action="CreateFolder" After="InstallValidate">
                NOT Installed
            </Custom>

            <Custom Action="ExecuteSql" Before="InstallFinalize">
                NOT Installed
            </Custom></InstallExecuteSequence>

It works fine for executing CreateFolder CA first, and then ExecuteSql.
But, in some cases it is required for WixExtension user to run ExecuteSql
first, and CreateFolder comes next.

Can I somehow specify a CA order to be executed within
InstallExecuteSequence and make it configurable?
____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-devs mailing list