Wix 安装程序 - 将属性值复制到另一个属性
Wix installer - copy attribute value to another attribute
我想做的是复制单个 属性 的值,并将其作为另一个 属性 的值。这可以用 Wix 实现吗?
<Property Id="PROP1" Value="default" Secure="yes"/>
我希望 PROP2
在 UI 序列中的某个位置具有相同的值。
您可以使用自定义操作来完成它。将操作定义为
<CustomAction Id="SetMyProperty" Execute="immediate" Property="PROP2" Value="[PROP1]" />
然后在 <InstallUISequence>
或 <InstallExecuteSequence>
中调用它,当你需要它设置时,像
<Custom Action="SetMyProperty" After="FileCost"></Custom>
尽管@Mischo5500 的回答是正确的,但有一种更优雅的方法可以实现同样的效果。您可以使用专门为此目的设计的特殊元素 <SetProperty>
。
使用它的好处是:
- 一行WiX代码
- 默认情况下它被正确安排到两个序列中
- 元素的名称更自然且一目了然
因此,上面的例子可以转化为:
<SetProperty Id="PROP2" Value="[PROP1]" After="FileCost" />
我想做的是复制单个 属性 的值,并将其作为另一个 属性 的值。这可以用 Wix 实现吗?
<Property Id="PROP1" Value="default" Secure="yes"/>
我希望 PROP2
在 UI 序列中的某个位置具有相同的值。
您可以使用自定义操作来完成它。将操作定义为
<CustomAction Id="SetMyProperty" Execute="immediate" Property="PROP2" Value="[PROP1]" />
然后在 <InstallUISequence>
或 <InstallExecuteSequence>
中调用它,当你需要它设置时,像
<Custom Action="SetMyProperty" After="FileCost"></Custom>
尽管@Mischo5500 的回答是正确的,但有一种更优雅的方法可以实现同样的效果。您可以使用专门为此目的设计的特殊元素 <SetProperty>
。
使用它的好处是:
- 一行WiX代码
- 默认情况下它被正确安排到两个序列中
- 元素的名称更自然且一目了然
因此,上面的例子可以转化为:
<SetProperty Id="PROP2" Value="[PROP1]" After="FileCost" />