Iam using Wix and I have custom actions written in .net targeting Dotnet 4.0. During the installation , after welcome dlg , the dotnet framework is checked in the system and the dotnetframework prerequisite dialog is shown if it is not there. If the dot net framework is installed it will go to the progressdialog where the custom actions written in .net would be called. But on a system where dotnet framework is not installed , the msi is not at all going to welcomedlg itself it is throwing the below error. In the customaction config below entries are there
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727"/>
it says below error SFXCA: Extracting custom action to temporary directory: C:\DOCUME~1\\LOCALS~1\Temp\MSI34.tmp-\ SFXCA: Failed to get requested CLR info. Error code 0x80131700 SFXCA: Ensure that the proper version of the .NET Framework is installed, or that there is a matching supportedRuntime element in CustomAction.config. If you are binding to .NET 4 or greater add useLegacyV2RuntimeActivationPolicy=true to the element.
From the comments above, the custom action was scheduled before the condition to check that the correct .NET Framework was installed. The fix was to move the custom action later in the UI sequence.
User contributions licensed under CC BY-SA 3.0