Fix it now
0x80073712 is ERROR_SXS_COMPONENT_STORE_CORRUPT: the component store is in an inconsistent state, so every later update fails at verification. 0x800F081F is CBS_E_SOURCE_MISSING, the follow-on complaint that the files needed to repair it cannot be found.
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
- RestoreHealth can sit at one percentage for a long time. Leave it alone unless the disk and CPU have been idle for a long stretch; interrupting it leaves the store worse than it found it.
- If it returns 0x800F081F, it needs a source. Mount an ISO of the same edition and build and rerun it as
DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:D:\sources\install.wim:1 /LimitAccess. - Check the index first with
DISM /Get-WimInfo /WimFile:D:\sources\install.wimand pick the one whose edition matches the machine. - Reboot, then reinstall the update that was failing.
/LimitAccess prevents DISM contacting Windows Update for repair of online images. Use it while diagnosing, so a silent fallback cannot make you think your source worked when it was ignored.
If ScanHealth now reports no corruption and the update installs, you are finished. If the repair itself fails, the next section explains what the store is checking and why your source is being rejected.
Why it happens
Everything Windows installs lives in the component store under WinSxS, described by manifests and projected into place where the running system expects it. Servicing does not copy files blindly. Before it applies a change it verifies that the components already present match what their manifests say, because an update is expressed as a change against a known starting state.
When a file has been deleted, replaced by something else, or damaged on disk, that verification fails and the transaction stops. 0x80073712 is the store reporting itself inconsistent, and because it is the store rather than the package, the same code follows you from one month’s update to the next. There is nothing wrong with the update you are trying to install, and downloading it again changes nothing.
Repair works by fetching known-good copies of the affected components. By default DISM asks Windows Update for them. Where the machine has no route to Windows Update, or policy sends it to an internal update server that carries no repair payload, DISM has nothing to work with and reports CBS_E_SOURCE_MISSING. Supplying an image of the same build solves that directly, and it is the step most people get wrong on the first attempt.
The remaining codes in this family are side-by-side servicing errors with their own published meanings. 0x80073701 is a referenced assembly that could not be found, and Microsoft’s own mitigation for it is DISM /RestoreHealth followed by sfc /scannow. 0x800736B5 is a manifest with one or more syntax errors. 0x80073715 is subtler and worth knowing: two manifests with identical identities but different contents, which is what you get when a component has been replaced by a build that was never meant to be there.
The store is repairable and the machine can reach Windows Update
You have this one if ScanHealth reports the store as repairable and the machine has ordinary internet access.
- Run
DISM /Online /Cleanup-Image /RestoreHealthand wait for it to complete. - Follow with
sfc /scannow, which repairs live system files using the store as its source. - Reboot and reinstall the failing update.
- If DISM reports success and the update still fails, read the newest CBS.log before repeating the repair.
Run sfc after DISM, never before. System File Checker copies from the component store, so if the store is damaged it has nothing good to copy.
The source is at a lower patch level than the machine
You have this one if You supplied an ISO and still get 0x800F081F, or DISM says the source files could not be found even though the drive letter is right.
- Read the rule Microsoft publishes: if the target is patched to a higher level than the source, repairs can fail because the target needs files the source does not carry.
- Get media patched to at least the level of the machine, and check the installed build with
winver. - Run
DISM /Get-WimInfoagainst the image and choose the index whose edition matches. - Add
/LimitAccessso DISM uses only your source and cannot fall back silently.
Policy is sending the machine somewhere with no repair payload
You have this one if Managed machines fail while an unmanaged machine on the same network repairs successfully.
- Open Computer Configuration – Administrative Templates – System and find ‘Specify settings for optional component installation and component repair’.
- Either set an alternate source file path there, or allow repair content to be downloaded directly from Windows Update.
- Reapply policy and confirm the setting reached the machine before retesting.
- As a one-off, supply the source on the command line rather than changing policy for one machine.
A previous cleanup removed the components repair needs
You have this one if Somebody reclaimed disk space with a component cleanup and a reset base, and updates began failing afterwards.
- Accept that a source is now mandatory on this machine and supply one on every repair.
- Repair with media patched to at least the machine’s level.
- Keep reset base for images you are about to deploy, not for machines you will service for years.
- If the store cannot be brought back, an in-place upgrade with matching media rebuilds it.
Resetting the base of the component store permanently removes the ability to uninstall the updates it superseded. That is the trade you make for the disk space.
The disk is damaging files faster than DISM repairs them
You have this one if Repairs succeed, then the same corruption reappears, or the event log records disk or controller errors.
- Run
chkdsk C: /scan, which runs an online scan on an NTFS volume without a dismount. - Check the drive’s own health reporting and replace failing storage before spending more time on servicing.
- Restore from backup onto healthy hardware if the corruption is widespread.
- Repeat the store repair only once the hardware is sound.
Full reference
Getting the repair source right
This is where most repairs fail. The source has to be the same edition and architecture, and Microsoft’s rule on patch level is one-directional: the source must be patched to at least the level of the target. A target patched higher than the source needs updated files the source does not contain, and DISM reports the source as unusable rather than explaining why.
| Source form | What to pass to /Source |
|---|---|
| A mounted Windows image | The path to the Windows directory inside it, such as c:\mount\Windows |
| A running Windows installation shared over the network | The share pointing at its Windows folder |
| The side-by-side folder from installation media | z:\sources\SxS, which is what optional features need |
| A WIM file with several editions | WIM:\\server\images\contoso.wim:3, where the number is the index |
| Windows Update | The default when you supply no source at all |
DISM /Get-WimInfo /WimFile:D:\sources\install.wim
rem where the media ships install.esd rather than install.wim
DISM /Export-Image /SourceImageFile:D:\sources\install.esd /SourceIndex:1 /DestinationImageFile:C:\temp\install.wim /Compress:max /CheckIntegrity
What each switch actually does
| Switch | Documented behaviour |
|---|---|
/ScanHealth |
Scans the image for component store corruption. Takes several minutes and changes nothing |
/CheckHealth |
Checks whether the image has been flagged as corrupt by a failed process, and whether that is repairable |
/RestoreHealth |
Scans for corruption and performs repair operations automatically |
/Source |
Specifies the location of known-good versions of files, used with /RestoreHealth |
/LimitAccess |
Prevents DISM contacting Windows Update for repair of online images |
The codes that travel with these two
| Code | Published name | Reading |
|---|---|---|
| 0x80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT | Decimal 14098. The component store has been corrupted |
| 0x800F081F | CBS_E_SOURCE_MISSING | The source for the package or file was not found |
| 0x80073701 | ERROR_SXS_ASSEMBLY_MISSING | Decimal 14081. The referenced assembly could not be found. Microsoft’s mitigation is RestoreHealth then sfc, then restart |
| 0x800736B5 | ERROR_SXS_MANIFEST_PARSE_ERROR | Decimal 14005. The manifest file contains one or more syntax errors |
| 0x80073715 | ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT | Decimal 14101. Two manifests share an identity but their contents differ |
Reading the servicing log
The code tells you a class of failure. %windir%\Logs\CBS\CBS.log tells you which component. Search it for the failure time and read backwards a few hundred lines; servicing writes the name of the component it was verifying immediately before it gives up. The DISM log sits beside it under %windir%\Logs\DISM and records what the repair attempted and what source it used, which is how you confirm that /Source was honoured rather than ignored.
When repair will not take
- If DISM reports the image as unserviceable, stop repairing and plan an in-place upgrade with media patched to at least the machine’s level. Microsoft’s own guidance for this family of codes ends at an in-place upgrade.
- If the same component fails repeatedly after a successful repair, look for something replacing it: a security product restoring a quarantined file, or a vendor utility that installs its own copy of a system binary.
- If several unrelated components fail at once, treat the disk as a suspect before the store.
- Do not copy system files from another machine. Versions and hashes have to match what the manifests expect, and a hand-copied file usually breaks the next update as well.
An in-place upgrade rewrites the operating system. Take a full backup first, confirm you hold any disk encryption recovery keys, and expect a long reboot cycle during which the machine is unusable.
When a licence is the actual fix
If the store cannot be repaired from any source, an in-place upgrade with matching media is the next step, and on an already-activated machine it needs no new key at all. Installation media is free to download and using it as a DISM source consumes no licence. A licence only matters if you are also changing edition, for example putting a machine on Windows 11 Pro so it can be domain-joined or managed with BitLocker. Arco can supply a Windows 11 Pro upgrade licence for that case and confirm which edition the machine currently holds first.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
0x80073712 |
ERROR_SXS_COMPONENT_STORE_CORRUPT: the component store is in an inconsistent state | Microsoft Learn |
0x800F081F |
CBS_E_SOURCE_MISSING: the source for the package or file was not found | Microsoft Learn |
0x80073701 |
ERROR_SXS_ASSEMBLY_MISSING: the referenced assembly could not be found | Microsoft Learn |
0x800736B5 |
ERROR_SXS_MANIFEST_PARSE_ERROR: the manifest file contains one or more syntax errors | Microsoft Learn |
0x80073715 |
ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: two manifests have identical identities but different contents | Microsoft Learn |
Confirm the fix worked
- Run
DISM /Online /Cleanup-Image /ScanHealthand confirm no component store corruption is detected. - Run
sfc /scannowand confirm it reports no integrity violations. - Reinstall the update that was failing and confirm it completes and survives a reboot.
- Check Update history and confirm the entry reads as installed rather than failed.
- Read the tail of the DISM log and confirm the repair used the source you intended.
Questions people ask about this
How long should RestoreHealth take?
Anything from a few minutes to well over an hour, and it commonly appears frozen at a particular percentage while it works. Leave it alone unless the disk and CPU have both been idle for a long stretch. Interrupting it makes the store worse rather than better.
Should I run sfc before or after DISM?
After. System File Checker repairs the running system using the component store as its source, so if the store itself is damaged it has nothing good to copy from. Fix the store first, then run sfc to clean up the live files.
Why is my ISO being rejected?
Usually patch level. Microsoft’s rule is that the source must be patched to at least the level of the target: a machine patched higher than the media needs files the media does not carry. Edition and architecture also have to match, and if the image holds several editions you have to pick the right index.
Do I need to buy media?
No. Microsoft publishes installation media for current Windows versions at no charge, and using it as a DISM repair source neither consumes an activation nor needs a key. What you need is media that matches your build and edition and is patched at least as far.
Where do I read what actually failed?
%windir%\Logs\CBS\CBS.log for the component servicing could not verify, and %windir%\Logs\DISM\dism.log for what the repair attempted. Both are far more specific than the code.
