如何使用Wix 3.11检查.net框架4.7.1

时间:2018-04-11 15:05:59

标签: wix wix3

我正在尝试通过条件检查带有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以上的任何东西似乎是不可能的 - 至少不是这种机制。我怎么能这样做?

1 个答案:

答案 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之前添加了#。没有它,它对我不起作用。