Recently I came across an issue where a customer was unable to reinstall IIS 7 on Windows Server 2008. The issue started happening after they upgraded some vendor CGI application that was hosted on IIS.
I used the CBS.log which is located at C:\Windows\Logs\CBS folder. Since IIS 7 is all modularized every component you select in IIS will install and uninstall module wise. You will see the CBS logfile has detailed information on what is the new component that is about to be installed and the command to install the module and the process output status.
I searched for the keyword “Failed” when searching for any failed component which caused IIS installation to roll over and ultimate failed. Here is what I saw:
2010-01-13 10:23:16, Info CSI 000000d1 Begin executing advanced installer phase 38 (0x00000026) index 99 (0x00000063) (sequence 135) Old component: (null) New component: Microsoft-Windows-IIS-W3SVC, Version = 6.0.6001.18000, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral Install mode: install Installer ID: {81a34a10-4256-436a-89d6-794b97ca407c} Installer name: [15]"Generic Command" 2010-01-13 10:23:16, Info CSI 000000d2 Calling generic command executable (sequence 2): [40]"C:\Windows\System32\inetsrv\iissetup.exe" CmdLine: [57]""C:\Windows\System32\inetsrv\iissetup.exe" /install W3SVC" 2010-01-13 10:23:17, Info CSI 000000d3 Performing 1 operations; 1 are not lock/unlock and follow: LockComponentPath (10): flags: 0 comp: {l:16 b:30940a556494ca01150100002c0b040d} pathid: {l:16 b:30940a556494ca01160100002c0b040d} path: [l:234{117}]"\SystemRoot\WinSxS\x86_microsoft.windows.s..ation.badcomponents_31bf3856ad364e35_6.0.6001.18000_none_3891bf6bc31ec194" pid: b2c starttime: 129078696711996146 (0x01ca94640996c2f2) 2010-01-13 10:23:17, Info CSI 000000d4 Creating NT transaction (seq 2), objectname [6]"(null)" 2010-01-13 10:23:17, Info CSI 000000d5 Created NT transaction (seq 2) result 0x00000000, handle @0x75e4 2010-01-13 10:23:18, Info CSI 000000d6@2010/1/13:15:23:18.037 CSI perf trace: CSIPERF:TXCOMMIT;280390 2010-01-13 10:23:18, Error CSI 000000d7 (F) Done with generic command 2; CreateProcess returned 0, CPAW returned S_OK Process exit code 1068 (0x0000042c) resulted in success? FALSE Process output: [l:22 [22]"Failed = 0x8007042c 2010-01-13 10:23:18, Info CSI 000000de@2010/1/13:15:23:18.490 CSI Advanced installer perf trace: CSIPERF:AIDONE;{81a34a10-4256-436a-89d6-794b97ca407c};Microsoft-Windows-IIS-W3SVC, Version = 6.0.6001.18000, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral;2186721 2010-01-13 10:23:18, Error CSI 000000df (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-01-13 10:23:18, Info CSI 000000e0 End executing advanced installer (sequence 135) Completion status: HRESULT_FROM_WIN32(ERROR_ADVANCED_INSTALLER_FAILED) 2010-01-13 10:23:18, Info CSI 000000de@2010/1/13:15:23:18.490 CSI Advanced installer perf trace: CSIPERF:AIDONE;{81a34a10-4256-436a-89d6-794b97ca407c};Microsoft-Windows-IIS-W3SVC, Version = 6.0.6001.18000, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral;2186721 2010-01-13 10:23:18, Error CSI 000000df (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-01-13 10:23:18, Info CSI 000000e0 End executing advanced installer (sequence 135) Completion status: HRESULT_FROM_WIN32(ERROR_ADVANCED_INSTALLER_FAILED)
The exit code 1068 and Process output Failed error code 0x8007042c means “ERROR_SERVICE_DEPENDENCY_FAIL”.
This was just a calculated guess as the only one service on which World Wide Web Publishing Service(W3SVC) depends on and is HTTP and Windows Process Activation Service (WAS). I took a bet with WAS and we decided to uninstall the WAS feature first before we try to reinstall IIS.
After uninstalling WAS we tried installing Web Server role and that went smoothly.
I am looking for more such incident's of installation failure on IIS 7 / IIS 7.5. You can send me the CBS logfile and I can look for clues which can show us all possible reasons for installation failure.
Always check the logs that will give you good indication on the cause of the issue but you will have to take a calculated risk to actually reach to the solution. That’s a guru mantra .
Till next time.
Take care.
Vivek Kumbhar
Quote of the day:
You don't get anything clean without getting something else dirty. - Cecil Baxter