订购执行WiX SetProperty操作

Wim*_*nen 7 windows-installer wix

我有一系列相互依赖的SetProperty动作.这是一个简化的例子:

<SetProperty Id="A" Before="AppSearch" Value="Hello" />
<SetProperty Id="B" Before="AppSearch" Value="[A] world!" />
Run Code Online (Sandbox Code Playgroud)

在这种情况下,属性A需要在属性B之前设置,因此B的值变为"Hello world!".

由于在这种情况下WiX没有定义用于设置自定义操作名称的属性,因此我没有在BeforeAfter属性中使用的名称.

注意到,这些措施的执行顺序的属性名称的字母顺序一致,但感觉就像一个实现细节,我不应该依赖.

如何干净地执行SetProperty自定义操作的顺序?

小智 10

您还可以使用SetProperty元素的"Action"属性来确定自定义操作的名称.如果您希望在两个不同的SetProperty操作中设置相同的属性,因为它删除了模糊的"SetXXX"操作名称,这一点变得至关重要.

例如:

<SetProperty Id="A" Action="MyFirstAction" Before="AppSearch" Value="Hello" />
<SetProperty Id="B" Action="MySecondAction" After="MyFirstAction" Value="[A] world!" />
<SetProperty Id="A" Action="MyThirdAction" After ="MySecondAction" Value="Goodbye cruel world!" />
Run Code Online (Sandbox Code Playgroud)