WiX Toolset扩展:如何使自定义操作的订单可配置?

时间:2019-03-01 12:08:01

标签: wix custom-action wix-extension

我正在使用自定义WiX工具集扩展,并且想知道是否可以使自定义操作的订单可配置?

例如,我有两个动作:

  1. CreateFolder 自定义操作:

    CustomAction Id =“ CreateFolder” BinaryKey =“ My.Ext.CA” DllEntry =“ CreateFolder” Execute =“ deferred”

  2. ExecuteSql 自定义操作:

    CustomAction Id =“ ExecuteSql” BinaryKey =“ My.Ext.CA” DllEntry =“ ExecuteSql” Execute =“ deferred”

它们以下一个顺序放置在InstallExecuteSequence中:

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

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

对于先执行CreateFolder CA,然后执行ExecuteSql,它工作正常。 但是,在某些情况下,WixExtension用户需要先运行ExecuteSql,然后再运行CreateFolder。

我可以以某种方式指定要在InstallExecuteSequence中执行的CA订单并使它可配置吗?

1 个答案:

答案 0 :(得分:0)

您的情况应该很简单。尝试使用

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

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

您可以在AfterBefore中使用自己的CA