How do I fix the errors listed in this CheckSUR.log file?

3

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.

windows-7
windows
windows-update
dism

2 Answers

5

Intro

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....

Steps to identify bad updates

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.

Download the non-corrupt version of packages

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.

Making update files available for DISM/SURT

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.

Repairing 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.

Footnotes

*Regarding directories, conflicting information is given on Microsoft's website:

  1. KB947821 (Step 4 of "How to Fix") says msu should be copied to %SYSTEMROOT%\CheckSUR\packages
  2. KB2700601 says msu, mum and cat to %WinDir%\Temp\CheckSUR\Packages\
  3. MS Technet says (after typo correction) mum and cat files go in %windir%\Temp\CheckSUR\servicing\packages

Similarly there are several locations identified as the appropriate directory for manifest files

† @mpag
‡ @chadnt

answered on Super User Jul 5, 2016 by mpag • edited Jun 13, 2017 by mpag
0

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.

answered on Super User Oct 20, 2015 by magicandre1981 • edited Oct 25, 2015 by magicandre1981

User contributions licensed under CC BY-SA 3.0