Summary: .NET 3.5 installer for .NET 4.0 app. If rollback occurs under Win 2K3, .NET 2.0 is uninstalled as well as app.
I have a .NET 3.5 installer for a .NET 4.0 web application, built with WIX 3.5.2110. It installs and uninstalls successfully under Windows Server 2003 and Windows Server 2008. There is a custom user interface. After the files are deployed, a custom completion screen appears. The screen is different if successful or if there were errors. The installer is .NET 3.5 because we could not build a .NET 4.0 installer with Wix 3.5. I think it had something to do with makesfxca. The installer uses immediate and deferred custom actions to achieve rollback when there is an error. Under Server 2008, the rollback works and the custom completion screen appears. My Server 2008 environment has IIS7 and .NET 4.0, no other version of .NET Framework. My Server 2003 environment has IIS6 and .NET 4.0, but also .NET 2, 3 and 3.5. ARP will not let me uninstall .NET 2.0. I am using msiexec 4.5 for Server 2003 and Server 2008. If there is an installation error under Server 2003 and a rollback occurs, the rollback uninstalls .NET 2.0 as well as my web app. My completion screen then fails to open. (My concern is not the installation error. Users will always find ways to cause errors. The problem is, if there is any error, the rollback uninstalls .NET.) Why does the rollback uninstall .NET Framework 2.0 under Server 2003? ---------- CustomAction.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration> ---------- MSI log where the rollback begins and takes out .NET 2.0: ... Action ended 15:54:16: InstallFinalize. Return value 3. MSI (s) (14:34) [15:54:16:872]: User policy value 'DisableRollback' is 0 MSI (s) (14:34) [15:54:16:872]: Machine policy value 'DisableRollback' is 0 MSI (s) (14:34) [15:54:22:545]: Executing op: Header(Signature=1397708873,Version=301,Timestamp=1030978475,LangId=0,Platfo rm=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttribute s=1) MSI (s) (14:34) [15:54:22:545]: Executing op: DialogInfo(Type=0,Argument=0) MSI (s) (14:34) [15:54:22:545]: Executing op: DialogInfo(Type=1,Argument=Microsoft .NET Framework 2.0 Service Pack 2) MSI (s) (14:34) [15:54:22:545]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescriptio n=Removing backup files,CleanupTemplate=File: [1]) ---------- MSI log where the completion screen fails to start up: ... Action start 15:55:53: ShowError. MSI (s) (14:B8) [15:55:54:015]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI101.tmp, Entrypoint: ShowError SFXCA: Extracting custom action to temporary directory: C:\WINDOWS\Installer\MSI101.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 <startup> element. Action ended 15:55:55: ShowError. Return value 3. ------------------------------------------------------------------------------ Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users