I recently worked on a Web Service installation case in IIS7. It may help guys who are planning to migrate from IIS6 to IIS7.
Symptom
========
Customer has a web service installation files complied by vs.net 2005. It was used to run on an IIS6 server and install web service successfully. Now customer upgrade the system to IIS7 and run the installation package, however, it failed to install Web Service in IIS7 and receive “Installation Incomplete” error message.
Also, there is an error message in Event Log:
Log Name: Application
Source: MsiInstaller
Date: 2/9/2009 1:44:50 PM
Event ID: 1033
Task Category: None
Level: Information
Keywords: Classic
User: Domain\user
Computer: computer name
Description:
Windows Installer installed the product. Product Name: XXXXXX WebService. Product Version: 1.0.0. Product Language: 1033. Installation success or error status: 1603.
Customer is able to setup Web Service manually in IIS7.
Troubleshooting
===========
We reproduced the same error on Windows 2008 with IIS7 by running the installation package.
To troubleshoot the issue, execute the install by command msiexec and write the steps into log files as below:
In Command Prompt with Run as Administer
msiexec -i d:\ws\XXXXXXWebServiceSetup.msi -l*v install.log
Got WEBCA_SetTARGETSITE. Return value 3 in install.log, details as below
(c) (60:2C) [16:54:44:502]: Doing action: WEBCA_SetTARGETSITE
Action 16:54:44: WEBCA_SetTARGETSITE.
Action start 16:54:44: WEBCA_SetTARGETSITE.
MSI (c) (60:2C) [16:54:44:502]: Note: 1: 2235 2: 3: ExtendedType 4: SELECT `Action`,`Type`,`Source`,`Target`, NULL, `ExtendedType` FROM `CustomAction` WHERE `Action` = 'WEBCA_SetTARGETSITE'
MSI (c) (60:C8) [16:54:44:534]: Invoking remote custom action. DLL: C:\Users\sophialu\AppData\Local\Temp\MSI7150.tmp, Entrypoint: SetTARGETSITE
Action ended 16:54:44: WEBCA_SetTARGETSITE. Return value 3.
Root Cause
Since the MSI is created by VS2005, it uses IIS6 script in the installation package. When the customer was trying to install Web Service in IIS7, it is not compatible with it.
Resolution
To address this issue, we need to install the IIS 6 Metabase Compatibility Component to the destination computer.
To install the IIS 6.0 Management Compatibility Components by using the Windows Server 2008 Server Manager
This installs an API for the new configuration system that is compatible with the old Metabase APIs (which is what VS 2005 uses).
After installing this option in IIS7, the setup.exe is working as expected.
More Information
============
In IIS 7 the server configuration is based on distributed XML files that contain the settings for not only IIS, but also ASP.Net and other components. Microsoft has done away with the Metabase in favor of a much more open system, but some pre-IIS 7 applications (such as Virtual Server R2 SP1) rely on the metabase as part of their installation process.
IIS 6 Compatibility Components Not Installed
http://technet.microsoft.com/en-us/library/bb397374.aspx
Regards,
Anik Shen
PingBack from http://pooltoysite.info/story.php?id=4387
Hi Microsoft,
I have the same problem. But I rebuilt the MSI package with VS 2008 but still the same problem. Is there any way to avoid IIS 6 compatablity and still our solution can work?
Please reply me at the eariest.
Regards
Kesava