Как проверить for.net фреймворк 4.7.1 с Wix 3.11


Я пытаюсь проверить версию .net с Wix 3.11 через условие. Это прекрасно работает до 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 3

1 ответ:

Этот метод (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

Update (hot33331): добавлено # перед номером 461308. Без этого у меня ничего не получалось.