In this post, I am going to share one error that I faced couple of times earlier and its resolution.
You have created a installer using Web Setup project with VS 2010. Using this you used to install the application on IIS7.5. Now you got a new machine with IIS7.5 installed (or you installed manually). Now after making the required changes, when you are installing with the MSI, you are getting the following error.
As, you don’t get the enough information here so you check the Event Viewer but you don’t find any error there. When you carefully see then you find two info entries there with the messages
1- <Application Name> — Installation failed
2- Windows Installer installed the product. Product Name <Application name and details>. Manufacturer Name – <manufacturer name>. Installation success or error status 1603.
From all the above information, there is no indication about the actual cause of the error. From the above error code if you search on Internet, you will find different resolutions but not the one discussed here. At least I didn’t the below resolution for the above problem.
Note – The above message or code that we found looks like common for many other errors so there could be different resolutions based on scenario.
One of the possible reasons that it is not getting installed because IIS6 management compatibility is not configured on IIS. So let’s see the steps to configure it.
1) Go to Control Panel -> Program and features -> Turn Windows Features on or off
2) Click on Internet Information Services and it should look like
Once the above steps completes. You should be able to install the installer on your machine.
Now let me briefly discuss that What is IIS6 management compatibility and why the issue surfaced in the above case?
IIS7+ is completely overhauled and there are many breaking changes in it. IIS7 introduced two modes Classic and Integrated mode. Integrated mode combines the modules of IIS and ASP.NET when application runs in Integrated Mode. All the metadata moved to different file in IIS7. So If an application uses the features of IIS6 then it should configure the IIS6 management compatibility in IIS7.
Now the question arises that why do we need this?
Visual studio 2010 installer still targets the older version of IIS (means IIS6) although IIS7 was publicly available in 2008. That’s why IIS6 compatibility is required.
Hope this post will help you.