Windows Update error 0x800f0831: how to fix it

Error 0x800f0831 means Windows can't install an update because its component store is damaged. Usually it is missing the manifest of an older update that the new one builds on. Repair the store with DISM and SFC first. If that doesn't work, find the missing package in CBS.log, install it from the Microsoft Update Catalog, then retry the update.

Applies to:Windows 11Windows 10Windows Server2012 R2, 2022 and other supported versionsWSUS / Configuration Managercurrent branch
On this page

What it means

The code 0x800f0831 is CBS_E_STORE_CORRUPTION. CBS (Component Based Servicing) is the part of Windows that installs updates, and the error means it found a problem in the component store (the WinSxS folder), which holds every Windows component plus the files from past updates.

In the case Microsoft describes, the update you're installing needs information from an older update package, specifically its manifest, and that manifest isn't in the store anymore. CBS has nothing to build on, so it stops. This mostly affects cumulative updates.

Your files are not at risk. The damage is limited to Windows' servicing data, and it can usually be repaired without reinstalling anything.

Symptoms and causes

You are likely dealing with this problem if:

  • A cumulative update fails in Settings > Windows Update, WSUS or Configuration Manager with error 0x800f0831.
  • WindowsUpdate.log contains FATAL: CBS called Error with 0x800F0831.
  • %windir%\Logs\CBS\CBS.log contains Store corruption, manifest missing for package: followed by a package name, and later Failed to resolve package [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION].
  • CBS.log may also say Store corruption found during execution, but auto repair is already attempted today, skip it.

The usual causes, most common first:

Missing manifest from an earlier update
The component store no longer has the manifest of a previous update package that the new update depends on. This is the cause Microsoft documents. The missing package is usually an older KB, not the one that's failing.
Other component store corruption
Other damage in the store, such as a partly installed component, stops CBS from resolving the update.
No access to Microsoft Update
According to Microsoft, the error is more likely when the PC can't reach Microsoft Update. Machines that only get updates from WSUS or Configuration Manager, or that are offline, can't download clean files to repair the store on their own.

How to fix it

Work through these in order. They start with the quickest, safest checks and move to deeper repairs; stop as soon as the problem is gone.

1.Repair the component store with DISM and SFC

Easy

Microsoft's first fix for this error. DISM checks the component store and replaces damaged or missing parts, then SFC repairs the Windows system files that depend on it.

  1. Press Win, type cmd, right-click Command Prompt and choose Run as administrator.
  2. Run these commands one at a time and let each one finish. RestoreHealth can sit at one percentage for a long time, which is normal. On a home PC it downloads replacement files from Windows Update, so stay connected to the internet.
    Command Promptrun as administrator
    DISM /Online /Cleanup-Image /ScanHealth
    DISM /Online /Cleanup-Image /CheckHealth
    DISM /Online /Cleanup-Image /RestoreHealth
    sfc /scannow
  3. Restart the PC, then go to Settings > Windows Update and select Check for updates (or retry the deployment from WSUS or Configuration Manager).

2.Run DISM against a local repair source

Advanced

If RestoreHealth fails or can't find the files it needs, the PC probably can't reach Windows Update (common on WSUS and Configuration Manager machines). You can point DISM at a Windows image that matches the installed version instead.

  1. Get Windows installation media for the same version, edition, language and architecture as the PC. Two things matter here, as Microsoft explains in Configure a Windows Repair Source: Microsoft recommends RTM media, and the source must be patched to the same or a later cumulative update level than the PC. If the PC is newer than the source, the repair can fail. A freshly downloaded ISO is often older than a fully patched PC, so it may not work as a source on its own.
  2. Double-click the ISO to mount it (this example assumes it gets drive D:). Look in D:\sources for install.wim or install.esd. These files hold several editions, so find the index number of the edition that matches the PC. If the file is install.esd, use /WimFile:D:\sources\install.esd instead.
    Command Promptrun as administrator
    DISM /Get-WimInfo /WimFile:D:\sources\install.wim
  3. Option A: point DISM straight at the image file. Replace <n> with the index you found. For an .esd file, use esd: instead of wim: (for example /Source:esd:D:\sources\install.esd:<n>). /LimitAccess tells DISM not to contact Windows Update at all.
    Command Promptrun as administrator
    DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:<n> /LimitAccess
  4. Option B: mount install.wim read-only into an empty folder and use its windows folder as the source. Unmount it afterwards with /Discard.
    Command Promptrun as administrator
    mkdir C:\mount
    DISM /Mount-Image /ImageFile:D:\sources\install.wim /Index:<n> /MountDir:C:\mount /ReadOnly
    DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\mount\windows /LimitAccess
    DISM /Unmount-Image /MountDir:C:\mount /Discard
  5. In managed environments, an administrator can also set a permanent repair source in Group Policy, using the setting for optional component installation and component repair. Without /Source, DISM uses that configured source.
  6. Run sfc /scannow, restart, and retry the update.
    Command Promptrun as administrator
    sfc /scannow

3.Install the missing earlier update manually

Moderate

When DISM can't fix the missing manifest, putting the missing package back gives the new update what it needs. This is Microsoft's second method for 0x800f0831.

  1. In an elevated Command Prompt, search CBS.log for the line that names the missing package. A real example looks like Package_1682_for_KB4103725~31bf3856ad364e35~amd64~~6.3.1.4, and here KB4103725 is the update you need. That is a different KB from the one that was failing, which is normal.
    Command Promptrun as administrator
    findstr /c:"manifest missing for package" %windir%\Logs\CBS\CBS.log
  2. If the package name has no KB number (for example Package_for_RollupFix~31bf3856ad364e35~amd64~~19041.xxxx), note the build number at the end. Look it up on Microsoft's Windows release health / update history page for your Windows version to find which KB that build belongs to.
  3. Open the Microsoft Update Catalog, search for that KB number, and download the version that matches your Windows version and architecture (x64, ARM64 and so on).
  4. Run the downloaded .msu file to install it and restart if prompted.
  5. If you want to confirm it's installed, list the installed packages and filter for the KB number (replace KB4103725 with yours).
    Command Promptrun as administrator
    dism /online /get-packages /format:table | findstr /i "KB4103725"
  6. Retry the update that failed with 0x800f0831.

4.Use "Fix problems using Windows Update" (Windows 11)

EasyChanges settings

This reinstalls your current Windows 11 version using Windows Update and keeps your apps, files and settings. It replaces the damaged servicing data without a full reinstall.

Before you start: It's a full reinstall of Windows and takes a while. Your files and apps are kept, but back up important files first anyway. Requires Windows 11 22H2 (build 22621) or later with the February 2024 optional update or newer. It isn't offered on work or school managed devices or on PCs whose updates are controlled by policies, which rules out most WSUS machines.

  1. Open Settings > System > Recovery. You can also press WinR and run ms-settings:recovery.
  2. Under Fix problems using Windows Update, select Reinstall now and follow the prompts.

Check that it worked

  • The update installs and shows as Successfully installed in Settings > Windows Update > Update history (or as installed in WSUS / Configuration Manager).
  • DISM /Online /Cleanup-Image /ScanHealth reports that no component store corruption was detected.
  • A fresh attempt adds no new 0x800f0831 entries to %windir%\Logs\CBS\CBS.log.

If it still fails

  • Read CBS.log again after each attempt. If a different package is now listed as missing, install that one from the Update Catalog too. Several older packages can be missing at once.
  • If DISM itself fails with a source error, see Repair a Windows Image and check that your local source is patched to at least the PC's update level.
  • If the update fails with an access denied error after the repair, see Windows Update error 0x80070005.
  • For business PCs and servers, open a case with Microsoft Support and attach CBS.log and WindowsUpdate.log. Home users can use Microsoft's support site or the Get Help app.

Questions

Why does CBS.log name a different KB than the update that's failing?

That's expected. The new update depends on an earlier package, and the log names that earlier package as missing. Install the one named in the log first, then retry the failing update.

Is 0x800f0831 the same as 0x800f081f?

No, they are different codes, but they belong to the same group of component store corruption errors (along with 0x80073701 and 0x8007371b). Microsoft treats them all with the same DISM and SFC repair.

Sources

  1. Error 0x800F0831 when installing an update (KB4477073)Official · Microsoft Learn
  2. Common Windows Update errorsOfficial · Microsoft Learn
  3. Repair a Windows ImageOfficial · Microsoft Learn
  4. Configure a Windows Repair SourceOfficial · Microsoft Learn
  5. Fix issues by reinstalling the current version of WindowsOfficial · Microsoft Support
  6. Unable to install a Windows Update – CBS error 0x800f0831 · rakhesh.com