Question

I put this in as a comment at

How can I check .NET framework 4.5 prerequestics in WiX

But I think I needed to ask this out as a separate question. I am not getting my install to catch that .NET 4.5 is installed. I have .NET 4.5 installed. I referred to the instructions. But, even with 4.5 installed I still get the condition popup message. I followed the directions at:

http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html

http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/check_for_dotnet.html

I am using the latest wix 3.8 version, where even following what I think are the directions, no .NET 4.5 is recognized.

1.) With the wxs update with the top level wix tag

xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"

2.) Add the propertyRef tag (I believed it went in the product section - might be a mistake)

 <WIX>
   <PRODUCT>

     <PropertyRef Id="NETFRAMEWORK45"/>

3.) add the condition block, which I also believed went at the same level as PropertyRef, under the product section

<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.) I use candle and light on the command line from a bat file

echo running the packaging step: wix candle DEV %VERSION%

call "candle" myproject.wxs -ext WiXNetFxExtension -ext WixUtilExtension -I.\Includes\Dev -dVersion="%VERSION%" -dShortVersion="%SHORTVERSION%" -dBuildTime="%BuildTime%" > dev1.log

echo running the packaging step: wix light DEV

call "light" -sice:ICE50 -sice:ICE61 -sice:ICE64 -ext WiXNetFxExtension -ext WixUtilExtension -o myproject.msi myproject.wixobj > dev2.log

Neither Log seems to show any trouble

dev1.log:

Windows Installer XML Toolset Compiler version 3.8.1128.0 Copyright (c) Outercurve Foundation. All rights reserved.

myproject.wxs

dev2.log has some warnings, but not relevant:

Windows Installer XML Toolset Linker version 3.8.1128.0 Copyright (c) Outercurve Foundation. All rights reserved.

C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(251) : error LGHT0204 : ICE38: Component NonAdvertisedShortcut installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file. C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(259) : error LGHT0204 : ICE38: Component NonAdvertisedShortcut2 installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file. C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(357) : warning LGHT1076 : ICE40: REINSTALLMODE is defined in the Property table. This may cause difficulties. C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(251) : error LGHT0204 : ICE43: Component NonAdvertisedShortcut has non-advertised shortcuts. It should use a registry key under HKCU as its KeyPath, not a file. C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(259) : error LGHT0204 : ICE43: Component NonAdvertisedShortcut2 has non-advertised shortcuts. It should use a registry key under HKCU as its KeyPath, not a file. C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(30) : warning LGHT1076 : ICE48: Directory 'DRIVE.C' appears to be hardcoded in the property table to a local drive. C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(254) : warning LGHT1076 : ICE90: The shortcut 'ScKey001' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence. C:\SVN\myproject_Trunk\client\Build\wix\myproject.wxs(260) : warning LGHT1076 : ICE90: The shortcut 'ScKey002' has a directory that is a public property (ALL CAPS) and is under user profile directory. This results in a problem if the value of the ALLUSERS property changes in the UI sequence.

I have run light with the -v option, and also removed the ICE options.

It seems the extension is not packaged my MSI.

running msiexec to get a verbose log does not seem to reveal anything either.

I feel like I have made a simple mistake somewhere.

The registry at Software\Microsoft\NET Framework Setup\NDP\v4\Full does have appropriate version and release values.

Was it helpful?

Solution

Answering my own question after working through

This project originally was created from MSIbuild and the Wix dark utility was used to build the wxs. It included the custom dialog boxes and install sequence.

By removing the custom install sequence , and dialog tags, then adding the -ext WixUIExtension, I was able to successfully see the correct message on .NET 4.5 PCs and PCs that do not yet have .NET 4.5 installed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top