正确格式化 WiX 包 MSI 包安装条件

Correctly format WiX bundle MSI Package Install Condition

我有一个 MSI,需要在特定条件下安装,我正在努力弄清楚如何编写实现它的条件。我关注此页面,http://wixtoolset.org/documentation/manual/v3/bundle/bundle_define_searches.html 产生了这个条件,并且两个产品搜索创建了变量。

<util:ProductSearch ProductCode="34DA9145-859A-4645-A0BD-6F22C551F8A9" 
                    Result="version" 
                    Variable="StandAloneMmaVersion"/>
<util:ProductSearch ProductCode="EE0183F4-3BF8-4EC8-8F7C-44D3BBE6FDF0" 
                    Result="version" 
                    Variable="AzureMmaVersion"/>

InstallCondition="StandAloneMmaVersion &lt; 8.0.110720.0 OR AzureMmaVersion &lt; 8.0.110720.0"

但是执行时会产生错误消息:

Error 0x8007000d: Failed to parse condition "StandAloneMmaVersion < 8.0.110720.0 OR AzureMmaVersion < 8.0.110720.0". Unexpected character at position 24.

该页面显示 < 已键入,但 Visual Studio 拒绝这样构建,因此转义了它们。

对于奖励积分,我真正想要的是,但未能找到任何示例,我希望安装条件仅影响安装,而不影响修复或修改。

在 Burn 中,版本常量必须有一个 v 前缀:

StandAloneMmaVersion < v8.0.110720.0