我正在使用仍支持Windows Server 2003的产品的安装程序,至少需要更长时间。我想确保存在Windows Installer 4.5或更高版本,因为包含的SQL Server Express安装程序将因较旧版本的Windows Installer而失败。我将以下Condition添加到我的WiX 3.8刻录Bundle,但它没有触发。
<bal:Condition Message="This software requires Windows Installer 4.5.">
<![CDATA[VersionMsi >= v4.5]]>
</bal:Condition>
我在测试安装的虚拟机上运行msiexec -?
以验证Windows Installer 3.01是否存在。我确保包含xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
声明和引用WixBalExtension.dll。我还验证了以下类似的条件,允许我验证是否已安装.NET Framework 4。
<bal:Condition Message="This software requires Microsoft .NET Framework 4.0.">
<![CDATA[NETFRAMEWORK40FULL]]>
</bal:Condition>
VersionMsi
是Burn built-in variables中的一个,因此我不确定为什么我的情况不起作用。 This exchange似乎说我在正确的轨道上,但我还没有。任何想法都将不胜感激。
答案 0 :(得分:0)
如果由于1708错误而到达此处,则可能需要特定的MSI 4.5更新。
在这些情况下,您需要明确地测试msi.dll的版本而不是VersionMSI变量。
请参阅Windows SDK中针对Windows Installer 4.5的单击一次引导程序包清单,了解每个MSI更新程序包的正确条件。