It’s that time of year again, and as always, when I visit the family over xmas there are various PC issues to resolve. This year there were blessedly few issues, but there was 1 problem that it took me quite a while to track down and resolve. One of the families PCs was failing to install Windows 7 service pack 1. It’s a fairly new PC and came with an OEM install of Windows 7 x64 Home Premium, all legit and activated. It also has up-to-date anti-virus protection, and other than the SP1 install problems it seemed to be in excellent working order.
The error thrown by windows update was error 80073712, which according to windows help (and the Microsoft help page) “occurs when the Windows component store is corrupt”. Microsoft provide a tool, called the System Update Readiness tool (KB947821) which it supposed to fix this problem. I downloaded the tool and ran it (which took quite a long time), after which it reported success. I then reattempted the SP1 update but it still failed.
After further research I discovered this is an issue which has plagued both 32 and 64 bit versions of Windows, ever since Vista. It seems to affect all service pack releases (KB936330, KB948465 and KB976932) Hence the System Update Readiness tool being for Windows Vista, 7, 2008 and 2008 R2. There are lots of unhelpful suggestions available, but the actual solution is fairly simple, as long as you have access to another PC with the same OS installed! In my case I had my laptop with me, running Windows 7 x64 SP1. I’m not sure if having SP1 may sometimes make a difference, or if having Professional instead of Home Premium may likewise sometimes make a difference, but in my case these differences didn’t matter — my solution worked just fine. For more detailed information, I found the Microsoft TechNet article “Advanced guidelines for diagnosing and fixing servicing corruption” very useful.
Firstly, download and install the System Update Readiness tool. If you’re lucky this will just fix the problem the first time. However, before attempting the service pack install, we’re going to check…
Click on start and in the search box type “notepad %windir%\logs\cbs\checksur.log” to open the readiness tool’s log file.
At the bottom of the file there should be a summary which looks like
Seconds executed: 685
Found 2 errors
Fixed 2 errors[/code]
If the number of errors fixed is the same as the number found then you should be sorted — you can now just go ahead and install the service pack or windows update as normal. However, in my case it wasn’t, so…
The log file identifies any files it couldn’t fix. Files it can’t fix are ones that aren’t present on the system for some reason. You need to get them from another PC running the same version of Windows
In the log file, under the section called “Checking Component Store” there will be a list of files that are missing or corrupt. I had 4 listed as below…
LDDMCore.ptxml in amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.1.7600.16385_none_07bd8a45fd3dcc23
LDDMCore.ptxml in amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.1.7600.20715_none_0892dc3716229fcb[/code]
The manifest files can be found (on another PC) in %windir%\winsxs\Manifests and the folders containing the other files are found in %windir%\winsxs
Copy the missing files to the PC with the problem, into the following locations
.manifest files into %Windir%\Temp\CheckSUR\winsxs\manifests\
.mum and .cat files into %Windir%\Temp\CheckSUR\servicing\packages\
any files from the folders with the long names (in my case the 2 LDDMCore.ptxml files) go into the appropriate directory in %windir%\winsxs
This final step may require taking ownership and changing the permissions of the directories in question.
Now re-run the System Update Readiness tool. Once re-run repeat step 2 to open the log file, and confirm that the summary section now says the number of fixes matches the number of problems.
Assuming the value for fixes is now equal to the value for problems found, you can now re-run the service pack or windows update, which should succeed.
If for some reason you’re still having problems, there are some other things you can try…
1. Run the Windows Update troubleshooter
- click on start, type “troubleshooting” and press enter.
- In the control panel window that opens click on “Fix problems with Windows Update”.
- Note: this applies to Windows 7, but the precise details may be different under other systems.
2. Clear out the windows update cache…
- Click start, type services.msc
- In the services admin window, scroll down to “Windows Update”, right click on it, and click stop.
- Click start, type %windir%\SoftwareDistribution
- Select all files and delete them. If any won’t delete you can take ownership and change permissions of them, or try again in safe mode.
- Restart the “Windows Update” service from the services admin window.
- Re-run the windows update troubleshooter
Extra things you can try
1. A disk check
- It’s fairly unlikely, but it could be disk corruption
- Open my computer, right click on the system drive (usually Drive C) and select properties
- Click on the tools tab, and click “Check now”
- Make sure both boxes are ticked and click start
- You will probably have to restart, and the check might take a long time
2. The system file checker
- Click start, type sfc /scannow
- You might need an installation disk
- This might take a while
3. Delete the pending.xml file in %windir%\winsxs
- Click on start, type %windir%\winsxs
- Scroll down and locate the file pending.xml
- Take ownership and change the permissions of the file
- Delete the file
- Credit for this to TyeGuy on TechArena forums
- Please note that Microsoft do not recommend doing this (see comments below, thanks niemiro). If you’ve got this far and it still isn’t working, drop us a comment and we’ll see what we can do to help!
The last resort
Obtain a windows installation DVD, rerun setup and carry out a repair install. You will have to reinstall all updates.