Search code examples
.netasp.netiisinstallationdelphi-prism

Distributing ASP.NET applications


We recently released an ASP.NET (.NET 2.0) application. The application files are pre-compiled and the installer is generated in Visual Studio. It's pre-compiled as it's written in Delphi Prism, not C#.

Everything worked well while testing, but once in the wild, we started to see several issues e.g.

  • The installer sometimes refuses to install saying that the application is already installed, even though the "Remove previous versions" option is set in the install builder.
  • The installer seems very sensitive to the setup of IIS. e.g. if II6 compatibility is not installed for II7, the installer exits with no error message.
  • When trying to connect to the app, some users get "Failed to access IIS metabase" (still not figured out what this is).
  • There doesn't seem to be a way to create an app pool in the installer. Therefore, the .NET 2.0 application can end up with an app pool using .NET 3.5/4.0.

These are just some of the issues we've encountered.

Is there a better method of distributing ASP.NET applications that doesn't require advance knowledge of the end user's system? Could we be doing something stupid? If these are common problems, are there any fool proof installs that install nicely and, if problems occur, provide users with informative error messages.


Solution

  • As there have been no answers in a year and a half I guess there's no better answer than the one we came up with.

    We used InnoSetup to run the ASP.NET installer. However, it first checks if the ASP.NET is installed and, if it is, it uninstalls it. This at least gets around the first issue I mentioned in the question.