8
votes

I am using Wix Toolset v3.10.3 and I am trying to get my MSI to check if .Net 4.6.2 is installed on the machine

According to the page here I should be able to use the following property

<PropertyRef Id="WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED"/>

and then do something like this

    <Condition Message="This application requires .NET Framework 4.6.2. Please install the .NET Framework then run this installer again. If you require assistance, please contact [company name] support">
          <![CDATA[Installed OR WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED]]>
</Condition>

but when I build I am getting the following error

Unresolved reference to symbol 'Property:WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED' in section 'Product:*'.

Does anyone have any ideas on this one? I can see that the .net 4.X family of propeties are different but I cant see that I am doing anything wrong?

1
Do you have a reference to WixNetFxExtension.dll? - Brian Sutherland
Yes I do, its coming from C:\Program Files (x86)\WiX Toolset v3.10\bin and shows version 3.10.3.3007 in the dll properties. Interestinglyenough, the Visual Studio propeties window shows the reference as version 3.0.0.0 (it looks like it does this for all the WiX Modules I have referenced) - martpendle
I have the same issue, WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED works fine. But 461 and 462 both fail with same error as shown above. - Tony

1 Answers

13
votes

WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED is supported in WiX v3.10.3. WIX_IS_NETFRAMEWORK_461_OR_LATER_INSTALLED and WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED are supported in WiX v3.11.