Advanced guidelines for diagnosing and fixing servicing corruption

Updated: September 24, 2009

Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista

The purpose of this article is to provide advanced guidelines for diagnosing and fixing servicing corruptions that may occur when running the System Update Readiness Tool does not offer resolution. For more information on the System Update Readiness Tool and what symptoms can be caused by servicing corruptions, see article 947821in the Microsoft® Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=165000)..

Advanced guidelines for diagnosing and fixing servicing corruption

This article applies to the following operating systems:

  • Windows Vista®

  • Windows® 7

  • Windows Server® 2008

  • Windows Server® 2008 R2

Diagnosing corruptions

If running the System Update Readiness Tool does not remedy the problem, you can proceed to diagnose the tool’s report and determine if it is possible to fix the corruptions manually.

The report can be found at %windir%\logs\cbs\checksur.log.

At the end of the log file, you will find a summary section that looks like:

Summary:
Seconds executed:
Found XX errors
Fixed XX errors
…

The report may fit one or more of the following patterns. Each pattern provides a description of the issue and solution to the problem.

Using the checkSUR report
  1. The System Update Readiness Tool has fixed all found errors, as in the example below:

    Summary:
    Seconds executed: 100
    Found 10 errors
    Fixed 10 errors

    You should no longer have any servicing corruption on your computer. If you are still getting errors after this point, use one of the following links to resolve your issue:

    • To find articles on identifying and resolving errors, see Look up an error message from Microsoft Help and Support (http://go.microsoft.com/fwlink/?LinkId=165001).

    • To try Microsoft® Fix it, see Microsoft Fix it Solution Center from Microsoft Help and Support (http://go.microsoft.com/fwlink/?LinkId=165002).

    • To contact Microsoft® Help and Support if the problem is not fixed, see Select a Product for Assistance from Microsoft Help and Support (http://go.microsoft.com/fwlink/?LinkId=165004).

  2. If you get the Unavailable repair files message, this indicates that some of the inconsistent files found by the tool cannot be fixed as the correct versions of the replacement files are not carried by the tool. After this message appears, a list of the missing files follows.

    Summary:
    Seconds executed: 264
    Found 3 errors
    CBS MUM Missing Total Count: 3
    Unavailable repair files:
       servicing\packages\Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.mum
       servicing\packages\Package_for_KB958690_sc~31bf3856ad364e35~amd64~~6.0.1.6.mum
       servicing\packages\Package_for_KB958690~31bf3856ad364e35~amd64~~6.0.1.6.mum
       servicing\packages\Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.cat
       servicing\packages\Package_for_KB958690_sc~31bf3856ad364e35~amd64~~6.0.1.6.cat
       servicing\packages\Package_for_KB958690~31bf3856ad364e35~amd64~~6.0.1.6.cat
       winsxs\manifests\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0.manifest
       winsxs\manifests\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_676975d87cc9b6e6.manifest
    
    Steps to resolve this issue
    1. Get the files required from other sources. The options available can be found in the “Options for obtaining files” section below.

    2. Copy the files to %Windir%\Temp\CheckSUR directory of the corrupted computer following the subdirectory format as follows:

      1. All files of type *.mum and *.cat should be placed in the %windir%\Temp\CheckSUR\servicing packages directory

      2. All files of type *.manifest should be placed in the %windir%\Temp\CheckSUR\manifests\ directory

        For example:

        Copy Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.mum to %Windir%\Temp\CheckSUR \servicing\packages\

        Copy x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0.manifestto %Windir%\Temp\CheckSUR \winsxs\manifests\


        ImportantImportant
        Whenever you copy a .mum file, you must also copy the corresponding .cat file of the same name.

      3. Rerun the System Update Readiness tool.

  3. If you get a Payload File Missing message, then the binary required is not available. This means that the issue is not fixed.

    Summary:
    Seconds executed: 100
    Found 5 errors
    Fix 2 errors
    CSI Payload File Missing Total count: 5
    Fix CSI Payload File Missing Total Count: 2
    
    (f)   CSI Payload File Missing 0x00000000   admparse.dll   x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8 servicing_31bf3856ad364e35_6.0.6000.16386_none_23ddbf36a8a961bc
    (f)   CSI Payload File Missing 0x00000000   bootmgr   x86_microsoft-windows-b..re-bootmanager-pcat_31bf3856ad364e35_6.0.6000.16386_none_c0f2f087b6457236
    (fix) CSI Payload File Missing 0x00000000   bootmgr   x86_microsoft-windows-b..re-bootmanager-pcat_31bf3856ad364e35_6.0.6000.16386_none_c0f2f087b6457236
    (f)   CSI Payload File Missing 0x00000000   winload.exe   x86_microsoft-windows-b..environment-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
    (f)   CSI Payload File Missing 0x00000000   setbcdlocale.dll   x86_microsoft-windows-b..environment-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
    (f)   CSI Payload File Missing 0x00000000   winresume.exe   x86_microsoft-windows-b..environment-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
    (fix) CSI Payload File Missing 0x00000000   winresume.exe   x86_microsoft-windows-b..environment-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
    
    Steps to resolve this issue
    1. Find out which payload files are missing by looking at checkSUR.log. Identify any line that have (f) that is not followed by (fix). From the previous example the three payload files that are not fixed are:

      (f)   CSI Payload File Missing 0x00000000   winload.exe   x86_microsoft-windows-b..environment-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
      (f)   CSI Payload File Missing 0x00000000   setbcdlocale.dll   x86_microsoft-windows-b..environment-windows_31bf3856ad364e35_6.0.6000.16386_none_6701d52e8fdf8d45
      (f)   CSI Payload File Missing 0x00000000   admparse.dll   x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8 servicing_31bf3856ad364e35_6.0.6000.16386_none_23ddbf36a8a961bc
      
    2. Get the files required from other sources. The options available can be found in the “Options for obtaining files” section below.

      noteNote
      Ensure the binary you get from matches the directory name mentioned on checkSUR.log. For the above example, the directory name is x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8

    3. Paste the files onto the proper subdirectory under c:\windows\winsxs.

      ImportantImportant
      Please only paste the files that are needed. Replacing additional files may lead the system into an unserviceable state.

      Before placing the files in the appropriate locations, you may need to grant yourself permissions to edit the folder’s contents; below is a quick guide on how to achieve this.

      1. At an elevated command prompt: takeown /f Path_And_File_Name

        TipTip
        For example: takeown /f c:\windows\winsxs\ x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8

      2. Next, to grant administrators full access to the file: icacls Path_And_File_Name /GRANT ADMINISTRATOR:F

        TipTip
        For example: icacls c:\windows\winsxs\x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8 /grant administrators:F

      3. To replace the file with a known good copy: Copy Path_And_File_Name_Of_Source_File Path_And_File_Name_Of_Destination

        TipTip
        For example: copy c:\temp\admparse.dll c:\ windows\winsxs\x86_microsoft-windows-ie-adminkitmostfiles_31bf3856ad364e35_6.0.6000.16386_none_abfb5fd109dad8b8\admparse.dll

  4. Bad Pending.xml
    The file used to record operations required during system reboot is bad or corruptedCheckSUR.log does not record this information, however this can be easily identified by checking if one of the registry values below exist:

    1. HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide\@CorruptPendingXml (REG_SZ)

    2. HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide\@CorruptPendingXmlIdentifiers (REG_SZ)

    ImportantImportant
    In Windows 7 and Windows Server 2008 R2, a restart may help resolve the problem by removing the corrupted file. While users may see that some updates fail after a reboot, reinstalling the updates should now succeed.

    In Windows Vista and Windows Server 2008, no solution to recover this file exists. For more information followed method three in article 949358in the Microsoft® Knowledge Base (http://go.microsoft.com/fwlink/?LinkId=165004).

  5. Bad Winner Keys
    The registry used by the system to keep records of installed components is corrupt. CheckSUR.log does not record this information. However in Windows 7, this can be easily identified by checking if the registry value below exists:

    1. HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide\@CorruptWinners (REG_SZ)

    noteNote
    For Windows Vista SP1 and higher, check this phrase on %windir%\logs\CBS\CBS.log or CBS.persist.log to identify winners key corruption “Install-map entry missing component key in populate”.

    CheckSUR does not currently repair this type of corruption. Attempting a System Restore or reinstalling the operating system is recommended.

Options for obtaining files
  1. Obtaining a file from another computer

    ImportantImportant
    Adding too many files to the %windir%\Temp\CheckSUR\servicing\packages directory merely out of convenience (if doing so manually) is not the correct methodology to follow. For example, a power failure occurs during a service pack install and you have 50 .mum and .cat files that need to be replaced. Out of convenience, you manually copy all of the .mum and .cat files from the service pack cab files rather than singularly. CBS will perpetually fail install with a sharing violation error (80070020) when attempting further servicing operations on that package and the System Update Readiness tool will fail to detect any problems.

    ImportantImportant
    Ensure that the computer being used to copy files from is using the same version of Windows and system architecture.

    To identify a computer’s version, launch cmd.exe and execute winver. To identify a computer’s architecture, launch cmd.exe and execute wmic OS get osarchitecture.

    The files are located in subdirectories below %windir%. See the following examples:

    1. *.mum files are located in %windir%\servicing\packages\

    2. *.manifest files are located in %windir%\winsxs\manifests\

    3. Package*.cat files are located in %windir%\servicing\packages\


  2. Obtain files from the update package

    1. Identify which update package you need to download.

      ImportantImportant
      You can only use this option if the file requested has a KB number associated with it. For Package_for_KB958690_sc_0~31bf3856ad364e35~amd64~~6.0.1.6.mum, the KB number is KB958690, the architecture version is amd64 (which is the same as x64) and the package version is 6.0.1.6.

    2. Download the KB from Microsoft Help and Support.

    3. Expand the package.
      Assuming you downloaded the msu package to the %temp% directory and you want to expand the package to c:\targetDir: expand %temp%\Windows6.0-KB958690-x64.msu /f:* c:\targetDir

    4. Expand the cab files to the same location: expand Windows6.0-KB938979-x64.cab /f:* c:\targetDir
      All the files will be located in the above directory as only payload files are located in specific subdirectories.

      Occasionally, the required file may be a root package. These packages have no SKU information and follow a set prefix: Package_for_KB958690~31bf3856ad364e35~amd64~~6.0.1.6.mum. The root package extracted from the cab file will be named update.mum.

      To verify that the newly created update.mum is in fact the correct file, open the file with notepad.exe and ensure the following attributes are present in <assemble>\<assemblyIdentity>

      name=”KB958690”
      processorArchitecture=”amd64" 
      version="6.0.1.6"
      

      If the update.mum is correct, rename it to Package_for_KB958690~31bf3856ad364e35~amd64~~6.0.1.6.mum before copying it to the checkSUR temporary directory.

      ImportantImportant
      Renaming update.cat to Package_for_KB958690~31bf3856ad364e35~amd64~~6.0.1.6.cat is also required before replacing both .mum and .cat files.

  3. Obtaining the files from a Windows DVD
    The required files might be available on a Windows DVD.

    1. Launch an elevated command prompt

    2. Execute dism /mount-wim /wimfile:d:\sources\install.wim /index:1 /MountDir:c:\targetDir where d:\ is the directory the Windows DVD is mapped as and C:\targetDir is the empty directory where you want to mount the image.

    3. Locate the files under c:\targetDir\windows\servicing\packages or c:\targetDir\Windows\WinSxS\

    4. After copying the files, unmount the image with the following command:

      dism /unmount-wim /MountDir:c:\targetDir /discard
Tags :


Community Content

bluebossa
some hints
<p>this was very weird:<br /><br />Unavailable repair files:<br /><br /> winsxs\manifests\wow64_microsoft-windows-i..l-keybïard-0000041c_31bf3856ad364e35_6.1.7600.16385_none_63b81078a4087e2b.manifest<br /> winsxs\manifests\wow64_microsoft-windows-i..l-keyboard-0000040c_31bf3856ad364e35_6,1.7600.16385_none_63b82740a408648a.manifest </p><p>Double check the special caracters: ï and , that are invalid. I checked the registry for these keys and found out, that there was a correct one too...</p><p>I posted some other findings here:Microsoft Answers: "WindowsUpdate 800736B3" and "appid and keyform do not match" solution? http://answers.microsoft.com/thread/eb37f26e-bf72-e011-8dfc-68b599b31bf5</p>
Tags :

Stanley Roark
Obtaining missing files
I have 22 files missing<br /> CSI Payload File Missing Total count: 22<br /><br /> Summary:<br /> Seconds executed: 3058<br /> Found 1472 errors<br /> Fixed 1450 errors<br /><br /> Why dont microsoft create a program to find these missing files from their own server &amp;amp; download &amp;amp; replace them &amp;amp; put them in the right place. Create a New Tool to fix it man. I have paid for the Business edition of Vista &amp;amp; just putting up an add saying "Your PC looks tired" is a mockery of your own Operating system. Do you throw out your investment just because it get's old. I have a Vista Business Tablet edition &amp;amp; I am in no mood to upgrade to Windows 7. <br /><br /> I would respect some help from Microsoft in getting these 22 files emailed / downloaded to my PC &amp;amp; get it fixed.<br /><br /><br />
Tags :

Stanley Roark
Obtaining Files
That's my CheckSUR.log, result of Windows6.1-KB947821-v12-x64.msu:<br /> Checking System Update Readiness.<br /> Binary Version 6.1.7601.21645<br /> Package Version 12.0<br /> 2011-07-16 12:06<br /><br /> Checking Windows Servicing Packages<br /><br /> Checking Package Manifests and Catalogs<br /><br /> Checking Package Watchlist<br /><br /> Checking Component Watchlist<br /><br /> Checking Packages<br /><br /> Checking Component Store<br /> (f) CSI Payload File Corrupt 0x00000000 smiengine.dll amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7601.17592_none_672ce6c3de2cb17f <br /> (f) CSI Payload File Corrupt 0x00000000 wmicmiplugin.dll x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7601.17514_none_0b66cb34258c936f <br /><br /> Summary:<br /> Seconds executed: 106<br /> Found 2 errors<br /> CSI Payload File Corrupt Total count: 2<br /> ==================================================================================<br /> I think, there is something wrong... amd64_ Payload file AND x86_ Payload file corrupt ??? My machine is amd64.<br /> The file smiengine.dll has all the characteristics as article-ID: 2533552.<br /> At this point, it is not more possible to run updates like KB2530548, KB2507938, KB2532531, KB2533623, KB2547666, KB2552343.<br /> How to obtain the correct file smiengine.dll ??? How can i start Windows6.1-KB947821-v12-x64.msu once more ???<br />
Tags :

tfe live
The other way arround
For a long time the Linux community has been trying to approach the Windows GUI based interface of handling an operating system. In this article the manual routine suggested is a Windows operating system maintenance failure with no GUI or automated solution. <div><br /></div><div>We must hope this is an exception to the principle that console window and manual interventions on file level should not be used other than in severe recovery situations when the operating system GUI is down - and perhaps not even then.</div>
Tags :

RTFMNZ
Error in Unavailable repair files message files section
In step 2 part b the instructions are<div><br /></div><div>"<span>All files of type *.manifest should be placed in the %windir%\Temp\CheckSUR\manifests\ </span><span>directory"</span></div><div><span><strong><br /></strong></span></div><div>this should included the winsxs folder as per the example <span>%Windir%\Temp\CheckSUR\<i><b>winsxs</b></i>\manifests\</span></div>
Tags : contentbug

Maspry
Obtaining Files
<p>The best way I find of obtaining the files is to visit the Microsoft Catalog <mtps:InstrumentedLink NavigateUrl="http://catalog.update.microsoft.com" runat="server" xmlns:mtps="http://msdn2.microsoft.com/mtps">http://catalog.update.microsoft.com</mtps:InstrumentedLink> . A quick search of the path and or filename will normally redirect you to a KBnnnnnn article which can be searched for in the catalog, downloaded and epanded. <br /><br />once you have expanded the .msu you may also need to expand .cab files for 'payload files' <br /><br />I have found it difficuit to find items sonetimes but hope this may help someone.</p>
Tags :

cameron_eldridge
Obtaining Files
It is remarkably unhelpful to say you must obtain files and then not provide any way to do so.<div><br /></div><div>Obtain files from another computer - Obviously the easiest option, however not always an option as it requires the exact same version of everything on a secondary computer.</div><div><br /></div><div>Obtain files from the Update package - Again a simple option it seems, however there is no assistance provided as to how to actually identify what package a file came from or where to obtain it from other then noting the KB number.</div><div><br /></div><div>Obtain files from the Windows DVD - Very unhelpful. No all files are on the windows DVD.</div>
Tags :

Page view tracker