SCCM Software update Failure : CBS_E_STORE_CORRUPTION (KB3000850)

Scenario:
A two node cluster required new and old software updates to bring it up to compliance. The installation of KB3000850 was failing to install either manually or via SCCM deployment on one node  but not the other.

WUAHandler.log
Installation job encountered some failures. Error = 0x80240022. Commit Result = 0x00000001

CBS.log
 Not able to add file to extract: update.ses [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]

CBS    Store corruption, manifest missing for package: Package_33_for_KB3081320~31bf3856ad364e35~amd64~~6.3.1.1
CBS    Mark store corruption flag because of package: Package_33_for_KB3081320~31bf3856ad364e35~amd64~~6.3.1.1. [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION]

 Failed to resolve package [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION]

WER: Generating failure report for package: Package_for_KB3000850~31bf3856ad364e35~amd64~~6.3.1.8, status: 0x800f0831, failure source: Execute, start state: Staged, target state: Installed, client id: WindowsUpdateAgent


Common troubleshooting steps carried out without success:

net stop wuauserv
net stop cryptsvc
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak
net start wuauserv
net start cryptsvc

SFC /Scannow
Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\sources\install.wim:1 /limitaccess


Resolution:

Note the KB detailed within the CBS log after "Store corruption, manifest missing for package:". In my case it was KB3081320. This KB was not installed on the failed node from within control panel or Powershell (get-hotfix | select hotfixid) however, the manifest file was present within the folder C:\Windows\servicing\Packages.

Download the KB MSU file from the Microsoft Update catalog  and extract the CAB file to a temp directory.

expand C:\temp\updates\windows8.1-kb3081320-x64_d6e34f82e20d9efa19ab0ae7a938f8d80c01416e.msu /f:* C:\temp\updates\kb3081320

Then remove the package using DISM; this will in affect remove the manifest file from C:\Windows\servicing\Packages

dism /online /remove-package:C:\Temp\Updates\kb3081320\Windows8.1-KB3081320-x64.cab

Finally after removing the corrupted manifest files /updates the intended update KB3000850 will install via DISM/SCCM successfully and the CBS log will not have any corruption errors.

Dism /online /add-package /packagepath:C:\Temp\Updates\kb3000850\Windows8.1-KB3000850-x64.cab



Comments

  1. Thanks for writing this one up. I've seen errors in CBS.log before, but not this one, will keep a keen eye on any failures that seem similar to this.

    ReplyDelete
  2. Thank you very much, this helped me fix an installation of SSRS 2017 that required .Net 4.5.2 to be installed. However, the installation of the .Net 4.5.2 was failing with CBS_E_STORE_CORRUPTION and these steps resolved it.

    ReplyDelete
  3. Grettings!

    Still get 0x800f0831 error (see below).
    What else can I try?

    ===

    dism /online /remove-package:"C:\Temp\Updates\kb3205401\Windows8.1-KB3205401-x64.cab"

    Deployment Image Servicing and Management tool
    Version: 6.3.9600.17031

    Image Version: 6.3.9600.17031

    Processing 1 of 1 - Removing package Package_for_RollupFix~31bf3856ad364e35~amd64~~9600.18545.1.4
    [==========================100.0%==========================]
    The operation completed successfully.

    Dism /online /add-package /packagepath:"C:\Temp\Updates\kb3205401\Windows8.1-KB3205401-x64.cab"

    Deployment Image Servicing and Management tool
    Version: 6.3.9600.17031

    Image Version: 6.3.9600.17031

    Processing 1 of 1 - Adding package Package_for_RollupFix~31bf3856ad364e35~amd64~~9600.18545.1.4
    [==========================100.0%========================= ]
    An error occurred - Package_for_RollupFix Error: 0x800f0831

    Error: 0x800f0831

    DISM failed. No operation was performed.
    For more information, review the log file.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    ReplyDelete
    Replies
    1. Can you install the MSU file not the CAB extracted, then if it fails provide the CBS.log ?

      Delete

Post a Comment