Search code examples
installationinstallshieldcustom-action

How can we migrate existing web applications from .net 2.0 to 4.0 in installshield project


We have a number of Installshield projects that install and configure IIS applications. We have shipped several versions of the different applications (over 7 versions of 3 applications) and would now like to upgrade to use .net 4.0 instead of 2.0 & 3.5.

After modifying the "Internet Information Services" settings to change the ASP.NET Version on the web sites/application to 4.0.30319 and the .Net Framework version to v4.0 under the application pool, the installer correctly creates an application with the 4.0 version in IIS 6 and below, and in IIS 7 and above it correctly sets the pool to use v4.0, but upgrades do not work for any targets.

The upgrades install OK, but the .Net version of the virtual directory or application pool remain unchanged. Changing it manually works of course, but this would lead to increased support issues.

I have tried changing the upgrade to be a major upgrade, with no success, I am currently working on a custom action to change the .Net version after installation, but I don't have much experience with this feature of Installshield.

Has anyone experienced this issue? Are there any preferred ways of achieving this? (custom actions, or a .Net installer class, WIX is not an option)

Thanks


Solution

  • Without spending hours to dig into it... one quick solution would be to rename the app pools in your new installer and let a major upgrade create the new and remove the old. After all, if you are changing from .NET 2.0 to 4.0, in a sense you are creating a component that is not backwards compatible and thus should be a new component.