我正在尝试通过条件检查带有Wix 3.11的.net版本。这样工作正常,直到4.5:
<PropertyRef Id="NETFRAMEWORK45" />
<Condition Message="This application requires .NET Framework 4.5. Please install the .NET Framework then run this installer again.">
<![CDATA[Installed OR NETFRAMEWORK45]]>
</Condition>
检查4.5以上的任何东西似乎是不可能的 - 至少不是这种机制。我怎么能这样做?
答案 0 :(得分:7)
那个方法(PropertyRef)是语法糖。 NetFxExtension预处理器在编译时注入实现。 WiX目前落后。您正在寻找的实现类似于:
<PropertyRef Id="NETFRAMEWORK45" />
<Condition Message="This application requires .NET Framework 4.7.1. Please install the .NET Framework then run this installer again."><![CDATA[Installed OR NETFRAMEWORK45>=#461308]]>
</Condition>
https://github.com/wixtoolset/issues/issues/5575
更新(hot33331):在号码461308之前添加了#。没有它,它对我不起作用。