如何使用 Wix 3.11 检查 .net framework 4.7.1

How to check for .net framework 4.7.1 with Wix 3.11

我正在尝试通过条件检查 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 的内容 - 至少不能使用此机制。我该怎么做?

该方法 (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 前添加了一个#。如果没有它,它对我不起作用。