I've noticed we've had a couple of calls lately with customers having issues getting SP2 installed for Windows Server 2008. Typically the error seen is:
"You need to install Windows Server Service Pack 1 before continuing. After you install Windows Service Pack 1, restart this installation."
This can occur for a number of reasons, but the three most common are as follows:
Normally, its the second reason that is the problem. Looking into most CBS.logs shows the following information (the error code that is typical is in bold):
2009-06-11 13:33:08, Info CBS SPI: Failed opening parent package KB936330~31bf3856ad364e35~amd64~~22.214.171.12400. hr 0x800f0805
2009-06-11 13:33:08, Info CBS Mark store corruption flag because of package: Package_93_for_KB948465~31bf3856ad364e35~amd64~~126.96.36.19905. hr: 0x800b0100
2009-06-11 13:33:08, Error CBS SPI: (CSPICbsClient::OpenPackage:227)Failed to open package with identity Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.0.6001.18000 hr=0x800b0100
2009-06-11 13:33:08, Info CBS SPI: Failed opening parent package Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.0.6001.18000. hr 0x800b0100
2009-06-11 13:33:08, Error CBS SPI: (CSPICbsClient::OpenPackage:227)Failed to open package with identity Microsoft-Windows-ServerCore-Package~31bf3856ad364e35~amd64~~6.0.6001.18000 hr=0x800f0805
2009-06-11 13:33:08, Info CBS SPI: Failed opening parent package Microsoft-Windows-ServerCore-Package~31bf3856ad364e35~amd64~~6.0.6001.18000. hr 0x800f0805
2009-06-11 13:33:08, Error CBS SPI: (CSPCInstallTask::ApplicabilityScan:692)No parents for SP package found. A release version of SP1 must be installed or scheduled for installation hr=0x800f0a05
If you run CheckSUR against these machines (KB947821), you will notice that there is typically one update that has missing manifests (which looks similar to the log entries below):
Checking component watchlist.
(f) CBS MUM Missing 0x00000002 servicing\packages\Package_for_KB955430_server_0~31bf3856ad364e35~amd64~~188.8.131.5205.mum
(f) CBS MUM Missing 0x00000002 servicing\packages\Package_for_KB955430_server~31bf3856ad364e35~amd64~~184.108.40.20605.mum
(f) CBS MUM Missing 0x00000002 servicing\packages\Package_for_KB955430~31bf3856ad364e35~amd64~~220.127.116.1105.mum
The solution for this is to copy these .mum files from a machine that is working and has SP2 installed and copy them over to the installation with the problem. Re-run CheckSUR to make sure that the logs are clear and then re-run the SP2 installer.
If the issue is truly store corruption, you will see similar log entries to the following. These cannot be fixed and require a machine to be restored or an in-place upgrade to be performed to recover the component store.
2009-07-24 10:01:28, Error CSI 00000099 (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #2282550# from CCSDirectTransaction::PerformChangeAnalysis(...)[gle=0xd015001a]
2009-07-24 10:01:28, Error CSI 0000009a (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #2282549# from CCSDirectTransaction::PrepareForCommit(...)[gle=0xd015001a]
2009-07-24 10:01:28, Error CSI 0000009b (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #2282548# from CCSDirectTransaction::GenerateComponentChangeList(...)[gle=0xd015001a]
2009-07-24 10:01:28, Error CSI 0000009c (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #2282547# from Windows::COM::CPendingTransaction::ExtractInformationFromRtlTransaction(...)[gle=0xd015001a]
2009-07-24 10:01:28, Error CSI 0000009d (F) HRESULT_FROM_WIN32(14098) #1144052# from Windows::COM::CPendingTransaction::IStorePendingTransaction_Analyze(...)[gle=0x80073712]
And if you don't have another working box handy nearby? What then?
I don't gain a lot of confidence here. Any plans to ensure this doesn't happen/clean up when it does?
You have a couple of options.
1. You can attempt to just use PKGMGR to remove the packages listed and reattempt the installation.
2. You can delete the packages mentioned and reattempt the installation.
3. If the store is badly corrupted and you have your media, you can inplace upgrade to rebuild the component stack.
Sometimes though, it does come down to a true one box situation. If that is the case and no other methods or media are available, then rebuilding is the only real option.
Can I do an in-place reinstall of Windows Vista or Windows 7 like I could do for Windows XP in the case when system files are missing or damaged?
Yes, you can. The way you do it is a little different though.
First, you have to have a booting system. If the system isnt bootable then this method doesnt work.
Second, insert your DVD and start an installation, when prompted, choose Upgrade and just let it go. That will rebuild the component store but keep your data in tact. I would still recommend that you backup your data before you do this.
For Win7 you will also have the option of using DISM inside of WinRE to pull out a single file from the install.wim file.
What about hotfixes? I guess they're all intact after in-place upgrade due to the new stack which seems to have improved in this area? Or do hotfixes/MSUs need to be reinstalled?
Actually, no, you still need to reapply most of the fixes.
The best way to do an inplace would be for you to have an integrated service pack installation that matches what you had prior to doing the inplace, that will minimize the time to reinstall fixes.
This will resolve the issue-
Check HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion for CSD Version and change to Service Pack 1 if its not Service Pack 1
- Check the Value of “CurrentState” registry key in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\KB936330~31bf3856ad364e35~x86~~18.104.22.16800
- If the value is not 7,Change it to 7
Thats not a resolution. That's fooling the registry into thinking that the component is installed when it might not be by manipulating the state value.