我有一系列相互依赖的
SetProperty行动.这是一个简化的例子:
<SetProperty Id="A" Before="AppSearch" Value="Hello" /> <SetProperty Id="B" Before="AppSearch" Value="[A] world!" />
在这种情况下,属性A需要在属性B之前设置,因此B的值变为“Hello world!”.
由于WiX在这种情况下没有定义用于设置自定义操作名称的属性,因此我没有在Before或After属性中使用的名称.
我注意到这些操作的执行顺序与属性名称的字母顺序相匹配,但这感觉就像我不应该依赖的实现细节.
如何干净地执行SetProperty自定义操作的顺序?
您还可以使用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!" />