Wix安装程序 - 将属性值复制到另一个属性

时间:2016-09-09 12:03:55

标签: wix wix3 wix3.8

我想要做的是复制单个属性的值,并将其作为另一个属性的值。 Wix可以实现吗?

<Property Id="PROP1" Value="default"  Secure="yes"/>

我希望PROP2在UI序列中具有相同的值。

2 个答案:

答案 0 :(得分:2)

虽然@ Mischo5500答案是正确的,但有一种更优雅的方式来实现同样的目标。您可以使用专门为此目的设计的特殊元素<SetProperty>

使用它的好处是:

  • 这只是一行WiX代码
  • 默认情况下,它会正确安排到两个序列中
  • 元素的名称更自然,不言自明

因此,上面的例子可以转换成以下内容:

<SetProperty Id="PROP2" Value="[PROP1]" After="FileCost" />

答案 1 :(得分:1)

您可以使用自定义操作来完成它。将行动定义为

<CustomAction Id="SetMyProperty" Execute="immediate" Property="PROP2" Value="[PROP1]" />

然后在您需要设置时在<InstallUISequence><InstallExecuteSequence>中调用它,例如

<Custom Action="SetMyProperty" After="FileCost"></Custom>