在我的 WIX 安装包中,我有一个包含合并模块的功能,必须有条件地安装。应使用自定义操作设置的属性来评估条件。这是我的 WXS 中的外观:
<Directory Id="INSTALLLOCATION" Name="testSetup">
<Merge Id="mergeA" Language="1033" SourceFile="test.msm" DiskId="1" />
</Directory>
<InstallExecuteSequence>
<Custom Action="find" Before="CostInitialize">Not Installed</Custom>
</InstallExecuteSequence>
<CustomAction Id="find" Return="check" BinaryKey="script" VBScriptCall="findA" />
<Binary Id="script" SourceFile="script.vbs" />
由于 level=0 禁用了我设置的 NOT 仅在路径存在时才安装的功能。
<Feature Id="productFeatA" Title="featA" Level="1">
<Condition Level="0"><![CDATA[NOT pathA]]></Condition>
<MergeRef Id="mergeA" />
</Feature>
以及简单的测试 VBS 脚本:
Function findA
Session.Property("pathA") = "test"
End Function
因此,使用通过自定义操作设置的属性我无法使功能条件起作用。知道我在这里做错了什么吗?