如何在MSM中访问MSI中的属性值(合并模块)

时间:2017-01-25 05:37:28

标签: wix windows-installer wix3 wix3.8

我目前正在实施wix(3.8)安装程序,主MSI与其他几个合并模块合并。我在安装过程中接受用户输入,并将其存储在名为PORT的全局属性中。

在MSI中

<Property Id='PORT' Value="1">

如果条件为真,我需要在合并模块中的条件内访问此属性值以编辑XML文件。所以我将此属性作为这样的配置传递给合并模块。

在MSI中

<ConfigurationData Name="PROTOCOL" Value="[PORT]" />

在MSM中

<Property Id="protocol"/>
<Configuration Name="PROTOCOL" Format="Text" DefaultValue="[protocol]"/>
<Substitution Table='CustomAction' Row='SetProtocol' Column='Target' Value='[=PROTOCOL]'/>
<CustomAction Id='SetProtocol' Property='protocol' Value='[protocol]'/>

我在我的条件中使用了属性“protocol”的值,如下所示,但条件永远不会执行。

<Condition>protocol = 1</Condition>

我尝试将属性id与合并模块的GUID一起添加,并在条件中访问该属性“NEWPORT”。但没有成功。

<Property Id='NEWPORT' Value='[protocol.8c2910c9-5694-4312-a4cc-c9b2c2a5caa5]'/>

这是什么原因?有人可以告诉我在Merge模块的条件元素中访问MSI中属性值的方法。

提前致谢。

0 个答案:

没有答案