Troubleshooting IIS 7.x Installation Issues

By Puneet Gupta

April 9, 2012

Tools Used in this Troubleshooter:

This material is provided for informational purposes only. Microsoft makes no warranties, express or implied.

Overview

Troubleshooting IIS installation issues can be a very tricky task. The installation process does its own logging in simple text file, usually called IIS7.log (for IIS 7.x versions and IIS6.log for IIS 6.0).

In this section we will focus on IIS7.x installation issues and reference to its logging for troubleshooting purposes.

Reviewing the IIS setup Logs

The first thing to look for is errors in the IIS7.LOG(c:\windows\iis7.log).

Search for word “FAIL

Here is an example of an entry in IIS7.log

[11/12/2010 19:48:13] [ ***** IIS 7.0 Component Based Setup ***** ] 
[11/12/2010 19:48:13] "C:\Windows\System32\inetsrv\iissetup.exe" /install FTPServer 
[11/12/2010 19:48:13] < !!FAIL!! > METABASE_UTIL::InstallFtpMetabaseEntries result=0x800708c5 
[11/12/2010 19:48:13] < !!FAIL!! > Install of component FTPServer result=0x800708c5 
[11/12/2010 19:48:13] < !!FAIL!! > COMPONENT::ExecuteCommand result=0x800708c5 
[11/12/2010 19:48:13] [ End of IIS 7.0 Component Based Setup ]

You can see that it clearly tells you the EXE the setup ran and if that succeeded or not. With the error message and installation command line, search bing.com for the error found: “InstallFtpMetabaseEntries result=0x800708c5”

You could rerun he setup command from the command line above (highlighted). Doing this will help you isolate the issue and will let you collect right data (like process monitor) for just that failure and you won’t have to run the SETUP again and again.

Try stopping all 3rd party (non-Microsoft services from startup) and reboot the box before trying next install/uninstall of IIS.

To quickly identify and disable these services, go to start à run and Type “msconfig” (without quotes). It will open up system configuration dialogue box. Go to Services tab and select the check box “Hide all Microsoft services” at the bottom and then disable all 3rd party services that can be stopped without effecting server’s reboot. Usually these are anti-virus software, backup software etc

Another common, but most important scenario people forget is to uninstall WPAS “Windows Process Activation Services” – especially when they are trying to uninstall and reinstall IIS. When you install IIS then installer adds WPAS for you automatically as one of the dependencies, BUT when you uninstall IIS WPAS does not get uninstalled automatically – leaving the core binaries intact (this is done for a reason and is not a BUG. In short, it’s not uninstalled to make sure we don’t end up breaking other services on the box that consume this process model explicitly – like WCF service). One has to make sure WPAS is explicitly uninstalled by going to features under server manager and choosing “Windows Process Activation Services” to uninstall.

NOTE: This was changed in IIS 7.5. In IIS 7.5 the uninstaller will check for other dependencies for WAS (such as WCF), and if none are found then the IIS uninstallation process will remove WAS.

Reviewing the CBS (Component based Setup) Logs

If IIS7.log is clean, then there is a good chance that the problem is in CBS (Component based Setup) engine. CBS logs can be found at C:\Windows\Logs\CBS folder.

Just like IIS7.log file, CBS.log file is a It is a text file and can be opened in a text editor of your choice (you will have to open this file from administrative command prompt). You can get some useful information out of these logs by keeping the time frame of the installation failure in mind and searching for “Failure will not be ignored: A rollback will be initiated” string in the CBS.LOG file. Here is an example of one such instance.

2010-07-08 14:04:08, Info CSI 00000047 Calling generic command executable (sequence 2): [40]"C:\Windows\System32\inetsrv\iissetup.exe" CmdLine: [151]""C:\Windows\System32\inetsrv\iissetup.exe" /launch C:\Windows\System32\inetsrv\appcmd.exe reset config -section:system.applicationHost/listenerAdapters" 
2010-07-08 14:04:08, Error CSI 00000048 (F) Done with generic command 2; CreateProcess returned 0, CPAW returned S_OK Process exit code 16386 (0x00004002) resulted in success? FALSE Process output: [l:22 [22]"Failed = 0x80004002"][gle=0x80004005] 
2010-07-08 14:04:09, Info CSI 00000051@2010/7/8:18:04:09.688 CSI Advanced installer perf trace:CSIPERF:AIDONE; {81a34a10-4256-436a-89d6-794b97ca407c};Microsoft-Windows-IIS-SharedLibraries, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey Neutral;6148228 
2010-07-08 14:04:09, Error [0x018007] CSI 00000052 (F) Failed execution of queue item Installer: Generic Command ({81a34a10-4256-436a-89d6-794b97ca407c}) with HRESULT HRESULT_FROM_WIN32(14109). Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable (2)[gle=0x80004005] 
2010-07-08 14:04:10, Info CSI 00000053 End executing advanced installer (sequence 75) Completion status: HRESULT_FROM_WIN32(ERROR_ADVANCED_INSTALLER_FAILED) 

As with the IIS7.log, you can start using your web searching skills on BING.COM and look for next clue.

TIP: Try other ROLES and see if they fail. If they do IIS is just a victim and you can engage Platforms setup for assistance if you do not wish to follow the next steps.

Run the System Update Readiness Tool (short name CHECKSUR) – This tool is available for Windows Vista, for Windows Server 2008, for Windows 7, and for Windows Server 2008 R2. The download for this tool is a little big but it is worth running it. If installation of this tool fails, then you have some other issues with the machine in question and need an expert assistance. Contact Microsoft support for the same.

Run the command sfc /scannow from an elevated command prompt. This command can take 5-10 minutes and if this tool detects corruption, it tries to fix it too. If there are errors and this tool fixed, them, then you may see something like this.

C:\>sfc /scannow 
Beginning system scan. This process will take some time. 
Beginning verification phase of system scan. 
Verification 100% complete. 
Windows Resource Protection found corrupt files and successfully repaired 
them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log

If this command reports errors and it cannot fix it, then engage Microsoft support for assistance. You may see something like this.

Windows Resource Protection found corrupt files but was unable to fix some of them. 
Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example 
C:\Windows\Logs\CBS\CBS.log

Only when both the tools run successfully, you should proceed further with your troubleshooting. Chances are that running these steps could have fixed whatever corruption was present in CBS because that’s essentially what these tools do. It wouldn’t be a bad idea to run these tools anyway, as it may take about 20-30 minutes to run both the tools, but if these tools find problems in CBS engine, it can really save the long time that you may spend on an issue.

Other Resources



Discuss in IIS Forums