Fix it now
0x800F081F is CBS_E_SOURCE_MISSING – the source for the package or file was not found. 0x80073712 says the component store is in an inconsistent state. Both are fixed the same way: give DISM a matching copy of Windows to repair from, and stop it consulting Windows Update when policy will not let it.
winver
dism /Get-WimInfo /WimFile:E:\sources\install.wim
dism /Online /Cleanup-Image /RestoreHealth /Source:WIM:E:\sources\install.wim:3 /LimitAccess
sfc /scannow
- Note the edition, version and build from
winver. The repair source has to match that installation, and Microsoft’s guidance is to use RTM media patched to the latest cumulative update. - Read the index list from Get-WimInfo and pick the index whose name matches your edition. Pro, Home, Education, Standard and Datacenter all sit at different indexes.
- Run RestoreHealth with
/Sourcepointing at that index and/LimitAccessto stop DISM using Windows Update. - Where the media ships
install.esdinstead ofinstall.wim, the same command works with/Source:ESD:E:\sources\install.esd:<index> /LimitAccess. - Follow with
sfc /scannow, restart, and retry whatever originally failed.
A source at a lower patch level than the machine is the case that fails. Microsoft warns that a target patched to a higher level than the source may fail when adding features or repairing, so if in doubt patch the machine and use current media rather than older media.
If ScanHealth now reports no corruption, you are done. If the same code comes back with a matching source in place, the next section explains what else it can be.
Why it happens
Every Windows component lives in the component store under C:\Windows\WinSxS, alongside manifests describing what each one should look like. RestoreHealth walks that store, compares reality against the manifests and replaces anything that does not match. What it cannot do is invent a replacement: if the payload is missing from the store as well, it has to fetch a copy from somewhere else.
By default that somewhere else is Windows Update, and Microsoft documents it as the default repair source. Whether the machine may use it is decided by policy – the Group Policy setting Specify settings for optional component installation and component repair, under Computer Configuration, Administrative Templates, System. On a home machine this works silently and nobody ever sees the code. On a managed machine the policy is often configured so that it does not, which is why 0x800F081F turns up on domain-joined machines that are otherwise perfectly healthy.
0x80073712 is a different statement about the same store: ERROR_SXS_COMPONENT_STORE_CORRUPT, the component store has been corrupted, rather than a payload being absent. The remedy is identical but it should change your confidence afterwards. A store that keeps re-reporting corruption after a successful repair is telling you something else is wrong, usually a disk or memory fault.
The two remaining codes are often lumped in and should not be. 0x800700B7 is ERROR_ALREADY_EXISTS – cannot create a file when that file already exists – which during servicing usually means an operation is already in progress or a stale mount point is in the way. 0x80073713 is ERROR_ADVANCED_INSTALLER_FAILED: an advanced installer failed during setup or servicing. That is not a missing source and not store corruption; it is a specific installer failing, and the CBS log is where its name appears.
There is no repair source available
You have this one if The machine is domain-joined or otherwise managed, and DISM fails while a standalone machine on the same build repairs itself without complaint.
- Mount matching installation media and use
/Sourcewith/LimitAccess. This is the fastest fix and needs no policy change. - For a fleet, extract install.wim once to a read-only share and set an alternate source file path in the Group Policy setting Specify settings for optional component installation and component repair.
- Or allow machines to contact Windows Update for component repair through that same policy setting, if your network permits it.
- For a Windows Server feature installation, the source is the sxs folder on the media:
/Source:D:\sources\sxs.
The Wim: prefix with an index is documented syntax, for example Wim:\\network\images\contoso.wim:3, so a share works as well as a mounted ISO.
The source is at a lower patch level than the machine
You have this one if The command runs to completion and returns the same code, and the media predates the machine’s current cumulative update.
- Compare the version and build from
winveragainst the media. Microsoft’s guidance is to use RTM media patched to the latest cumulative update. - Where the target has been patched to a higher level than the source, expect the repair to fail; get newer media rather than older.
- Where you cannot obtain matching media, bring the machine to the current build first and repair against current media.
- For Windows Server, use media for the same release. Server media is not interchangeable between releases.
The wrong image index was specified
You have this one if DISM fails almost immediately, and dism /Get-WimInfo shows your edition at a different index from the one you used.
- Run
dism /Get-WimInfo /WimFile:E:\sources\install.wimand read the list of indexes and edition names. - Pick the index whose name matches the edition
winverreported. - Re-run RestoreHealth with the corrected index.
Something else is holding the servicing stack
You have this one if 0x800700B7, or DISM refuses to start at all.
- Run
dism /Get-MountedImageInfoand clear anything left over withdism /Cleanup-Mountpoints. - Confirm several gigabytes are free on the system volume; servicing needs working room.
- Restart to clear a pending operation, then retry.
The damage is deeper than RestoreHealth can repair
You have this one if A valid, matching source is in place, and the same code still comes back, or CheckHealth reports the store non-repairable.
- Do an in-place repair upgrade: mount matching media, run
setup.exefrom within Windows, and choose to keep files and apps. That rebuilds the component store wholesale. - Before that, rule out hardware. Run
chkdsk C: /scanand a memory test, because a store that keeps corrupting itself is a symptom rather than the disease. - On a server, weigh the repair upgrade against rebuilding the role on a fresh installation.
Full reference
The switches that matter
| Command | Purpose |
|---|---|
dism /Online /Cleanup-Image /ScanHealth |
Scans the store and records whether it is damaged |
dism /Online /Cleanup-Image /CheckHealth |
Reports whether the image is healthy, repairable or non-repairable |
dism /Online /Cleanup-Image /RestoreHealth |
Repairs the store, using Windows Update unless a source is given |
/Source:WIM:<path>:<index> |
Supplies a local repair source. /Source:ESD:<path>:<index> for ESD media |
/LimitAccess |
Stops DISM using Windows Update as a repair source for this run |
dism /Get-WimInfo /WimFile:<path> |
Lists the editions inside an install.wim and their indexes |
dism /Cleanup-Mountpoints |
Clears mount points left behind by an interrupted operation |
Choosing a repair source
Microsoft documents four shapes of source: a mounted image such as c:\mount\Windows, a running Windows installation shared over the network, a side-by-side folder such as z:\sources\SxS, and a WIM file addressed with the Wim: prefix and an index. The important constraint is not the shape but the patch level: use RTM media rather than refresh media, and ensure the source is patched to the latest cumulative update. A target patched higher than its source is the combination Microsoft warns about.
The four codes, kept apart
| Code | Published as | What to do differently |
|---|---|---|
0x800F081F |
CBS_E_SOURCE_MISSING | Supply a source. Nothing is corrupt yet |
0x80073712 |
ERROR_SXS_COMPONENT_STORE_CORRUPT | Supply a source, then question the hardware if it returns |
0x800700B7 |
ERROR_ALREADY_EXISTS | Clear mount points and pending operations; do not hunt for a source |
0x80073713 |
ERROR_ADVANCED_INSTALLER_FAILED | Read the CBS log for the installer that failed. This is not a source problem |
Reading the logs when the code is not enough
DISM writes to C:\Windows\Logs\DISM\dism.log and the servicing stack writes to C:\Windows\Logs\CBS\CBS.log. The CBS log is the one that names the specific component that could not be found or repaired, and it is where an advanced installer failure identifies itself. To extract the system file checker’s findings, run findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > %userprofile%\Desktop\sfcdetails.txt and read the result.
Setting a repair source for a fleet
- Extract install.wim from media matching your current build, patched to the latest cumulative update.
- Place it on a read-only share reachable from the machines you manage.
- Open the Group Policy setting Specify settings for optional component installation and component repair, under Computer Configuration, Administrative Templates, System.
- Set the alternate source file path to the share, using the
Wim:\\server\share\install.wim:<index>form where you need a specific edition. - Decide separately whether machines may contact Windows Update for repair, and set that in the same policy rather than leaving it implicit.
Refresh the share when you move to a new build. A source that was correct in January is the under-patched source that fails in July, and the failure looks identical to having no source at all.
Every code this article covers
| Code | What it points at | Source |
|---|---|---|
0x800F081F |
CBS_E_SOURCE_MISSING: the source for the package or file was not found | Microsoft Learn |
0x80073712 |
ERROR_SXS_COMPONENT_STORE_CORRUPT: the component store is in an inconsistent state, so a component is damaged rather than merely absent | Microsoft Learn |
0x800700B7 |
ERROR_ALREADY_EXISTS (183): cannot create a file when that file already exists. During servicing, usually a stale mount point or an operation already in progress | Microsoft Learn |
0x80073713 |
ERROR_ADVANCED_INSTALLER_FAILED (14099): an advanced installer failed during setup or servicing. Not a missing source and not store corruption; the CBS log names the installer | Microsoft Learn |
Confirm the fix worked
dism /Online /Cleanup-Image /ScanHealthreports no component store corruption.sfc /scannowreports no integrity violations.- The update, feature installation or reset that originally failed now completes.
C:\Windows\Logs\CBS\CBS.logrecords no further errors after the repair.- On a managed estate, a second machine repairs from the same source without a policy change.
Questions people ask about this
Do I need a product key to download the ISO?
No. Microsoft’s installation media downloads for Windows client editions are free, and a key is only needed to install and activate. Using one as a source of files changes nothing about your activation.
Can I use any Windows 11 ISO I already have?
Only if it matches, and matching means more than the edition. Microsoft’s guidance is RTM media patched to the latest cumulative update, and it warns that a machine patched to a higher level than the source may fail. Older media is the combination that breaks, not newer.
Does /LimitAccess break future Windows Updates?
No. It applies to that single DISM run and tells it not to consult Windows Update while repairing. Normal update behaviour is untouched and there is nothing to undo.
Why does this only happen on managed machines?
Because Windows Update is the default repair source, and whether a machine may use it is set by the Group Policy setting Specify settings for optional component installation and component repair. Where that is configured to prevent it, DISM has nowhere to go unless you supply a source.
I got 0x80073713, not 0x80073712. Same thing?
No. 0x80073713 is ERROR_ADVANCED_INSTALLER_FAILED – an advanced installer failed during setup or servicing. Supplying a repair source will not address it. Read the CBS log for the name of the installer that failed and troubleshoot that.
