I ran into an interesting problem with the Web Setup project in ASP.Net 2.0 last Friday.To facilitate production deployment, I typically use Web Setup project to create an installer so that everything needs to be installed is packaged nicely in a single executable. Anyway, the problem I encountered was that while in test, the installation worked perfectly but it failed in production with the following cryptic error message:
The specified path ‘/LM/W3SVC/1/ROOT/’ is unavailable. This Internet Information Server might not be running or path exists and is redirected to another machine. Please check the status of this virtual directory in the Internet Service Manager.
As it turned out, the production server I was doing the installation on had a url redirection set at the root level (on the Default Web Site) in IIS. It apparently is used to "alias" the server name with another server.
This is a little bit tricky as all the virtual directory settings on the actual websites are normal (a local directory). Had I not happened to check on the IIS root level settings, it would probably take me much longer to figure out.
So, the solution is to temporarily disable the default site level redirection by changing it to pointing to a local directory. Then, the installation can be proceeded.