I'm trying to update my Windows 7 machine using Windows Updates but I'm continually getting error 800B0100 (similar to whats reported here, here, and here). After taking several steps mentioned in those guides (system update readiness tool, check disk, Windows Update Troubeshooter, DISM, sfc, maybe something else I forgot). I've come up mostly empty-handed.
The only lead I've got comes from the DISM /Online /Cleanup-image /Scanhealth
command I ran. That produced this CheckSUR.log file. Some highlights:
Checking Windows Servicing Packages
Checking Package Manifests and Catalogs
(f) CBS MUM Corrupt 0x00000000 servicing\Packages\Microsoft-Windows-IE-Hyphenation-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum Expected file name Microsoft-Windows-IE-Hyphenation-Parent-Package-English~31bf3856ad364e35~neutral~~11.2.9412.0.mum does not match the actual file name
(f) CBS MUM Corrupt 0x00000000 servicing\Packages\Microsoft-Windows-IE-Spelling-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum Expected file name Microsoft-Windows-IE-Spelling-Parent-Package-English~31bf3856ad364e35~neutral~~11.2.9412.0.mum does not match the actual file name
(f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:
(f) CBS Catalog Corrupt 0x800B0100 servicing\Packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.cat
(f) CBS MUM Corrupt 0x800F0900 servicing\Packages\Package_112_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum Line 1:
...
Checking Package Watchlist
Checking Component Watchlist
Checking Packages
Checking Component Store
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7601.23136_none_c6c193f2071b07e3.manifest amd64_microsoft-windows-wow64_31bf3856ad364e35_6.1.7601.23136_none_c6c193f2071b07e3
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\amd64_microsoft-windows-ncrypt-dll_31bf3856ad364e35_6.1.7601.23136_none_bc7a217a2167e4bd.manifest amd64_microsoft-windows-ncrypt-dll_31bf3856ad364e35_6.1.7601.23136_none_bc7a217a2167e4bd
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7601.23136_none_b772aa2a2bf98230.manifest amd64_microsoft-windows-ntdll_31bf3856ad364e35_6.1.7601.23136_none_b772aa2a2bf98230
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\amd64_microsoft-windows-smss_31bf3856ad364e35_6.1.7601.23136_none_0ad673e548fd75d4.manifest amd64_microsoft-windows-smss_31bf3856ad364e35_6.1.7601.23136_none_0ad673e548fd75d4
(f) CSI Manifest All Zeros 0x00000000 winsxs\Manifests\amd64_microsoft-windows-rpc-http_31bf3856ad364e35_6.1.7601.23136_none_fe94b8d86f1fbfc8.manifest amd64_microsoft-windows-rpc-http_31bf3856ad364e35_6.1.7601.23136_none_fe94b8d86f1fbfc8
...
servicing\packages\Microsoft-Windows-IE-Hyphenation-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum
servicing\packages\Microsoft-Windows-IE-Spelling-Parent-Package-English~31bf3856ad364e35~~~11.2.9412.0.mum
servicing\packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_111_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_112_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_112_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_113_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_113_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
servicing\packages\Package_114_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.mum
How can I fix this errors so the next time I run DISM
I dont get them? I'm hoping that that will fix my original error (with the 800B0100 error code on Windows Update), so as an alternative if you have a fix for that I would be much more grateful.
DISM
will only repair the corrupt updates if it has access to the "good" versions of the updates in the proper subdirectory of %WINDIR%\Temp\CheckSUR\
. Without those files, DISM
or System Update and Readiness Tool (SURT
) will only generate a listing of corrupted files encountered and will not actually perform any repairs (as you witnessed).
So, how do you go about identifying the corrupt files and then fixing them? This MS KB article does a reasonable job describing it, albeit with a few broken links and missing details, which are mostly addressed in this other MS KB. Frustratingly, some of the information conflicts with this MS technet article*(see footnote). Assuming you'd rather read about the procedure here rather than stitch together several different sources....
In %WINDIR%\Logs\CBS\CheckSUR.log
, generated by installing SURT or running DISM, skip to the bottom of the file and read the lines that begin with servicing\packages\Package_
in the Unavailable repair files:
section. Where you see _for_KB######, KB###### (in your case KB3040272) is the update that you'll want to download. @magicandre1981 also identified KB3071756 as affecting you, presumably from a portion of your log file not directly provided in the question.
Once you've identified the broken KBs, you can obtain Microsoft Update MSU
files at the relevant KB entry on support.microsoft.com (/kb/######) or, using IE, going to the Microsoft Update Catalog and searching for the relevant KB number. On the MS KB page, scroll down to the "Update information" section and look for a link that says "Download the package now." next to a link for your flavor of operating system (x86 = 32 bit OS; x64 = standard 64 bit; ia-64 only for high end intel 64 bit servers). Download the file.
After downloading the files, you can place the whole MSU as indicated below, or you can extract all mum
, cat
and manifest
files contained and then moving the "good" version of the corrupt packages indicated by CheckSUR.log into the appropriate directory (again, as indicated below). The extraction from an msu file can be performed with the following command sequence.
expand -f:* C:\path\to\msu.msu %temp%\msuexpanded\
expand -f:* %temp\msuexpanded\Windows6.1-KBnnnnnn-xnn.cab %temp\msuexpanded\cab\
update.cat
and update.mum
should be renamed to the name specific to the package - for example for your broken package, you would rename the update.cat
as Package_for_KB3040272~31bf3856ad364e35~amd64~~6.1.1.1.cat
.
You should then move the files (msu and/or the other extensions) into place from the %temp\msuexpanded\cab\ directory*(see footnote):
File Extension | Absolute path (create if needed) | OS version confirmed (by)
-------------- | -------------------------------- | -----
msu | %SYSTEMROOT%\CheckSUR\packages\ | Windows 7 SP1 x64 (@chadnt‡)
(see footnote for symbols)
File Extension | Subdirectory of %WINDIR%\Temp\CheckSUR\ (create if needed)
-------------- | -------
cat | servicing\Packages\
mum | servicing\Packages\
manifest | winsxs\Manifests\
msu (alternate)| Packages\
Both %SYSTEMROOT%
and %WINDIR%
default to C:\WINDOWS
If the repairing files are in the proper directory, DISM/SURT should now repair corrupted files.
After KB2966583 - Improvements for the System Update Readiness tool in Windows 7 and Windows Server 2008 R2 (KB article | MSU
download) has been installed, the command-line version "DISM" becomes available.
DISM becomes the command-line invokable version of CheckSUR aka System Update Readiness Tool (SURT) in Windows7, so that you don't need to "install" SURT from MS KB 947821 every time you need to check/repair corrupted MS Updates.
Usage of DISM is as follows
DISM /Online /Cleanup-Image /Scanhealth
Which must be run from an Administrator account (i.e. the Admin/elevated command-prompt or the start bar with elevated privileges).
Or you can always install SURT from KB947821 again.
After DISM or SURT has been run again, check your CheckSUR.log file again and see if it has addressed your broken packages. If it didn't work, you may wish to consider doing an Inplace Update of Windows.
Disclaimer: portions of this lifted from @magicandre1981 's response. As I added so many details, I no longer felt that a simple edit of his post was in order.
*Regarding directories, conflicting information is given on Microsoft's website:
msu
should be copied
to %SYSTEMROOT%\CheckSUR\packages
msu
,
mum
and cat
to %WinDir%\Temp\CheckSUR\Packages\
mum
and cat
files go in
%windir%\Temp\CheckSUR\servicing\packages
Similarly there are several locations identified as the appropriate directory for manifest
files
try to install the update KB2966583:
Improvements for the System Update Readiness tool in Windows 7 and Windows Server 2008 R2
http://support.microsoft.com/kb/2966583/en-us
It should now allow you to run this DISM command to repair corrupted files:
DISM /Online /Cleanup-Image /Scanhealth
(I never tried if this really works. Please try it and report back)
If this doesn't work, do the following. Because files of the Updates KB3040272 and KB3071756 are damaged, download the MSU files from the downloadcenter, put them into the folder %SYSTEMROOT%\CheckSUR\packages
and run the checksur tool KB947821 again.
if this still doesn't fix your issue, repair your Windows via Inplace Update.
User contributions licensed under CC BY-SA 3.0