Search code examples
wixwix3

How to check for .net framework 4.7.1 with Wix 3.11


I am trying to check for .net Version with Wix 3.11 via Condition. This works fine until 4.5 like this:

<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>

Checking for anything above 4.5 seems not to be possible - at least not with this mechanism. How can I do that?


Solution

  • That method (PropertyRef) is syntactical sugar. The NetFxExtension preprocessor injects the implementation at compile time. WiX is currently lagging behind. The implementation you are looking for would be something like:

    <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): Added a # before the number 461308. Without that it did not work for me.