Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

Free Fix 0x8007370B

0x8007370B and 0x8007370D: component identity errors in the servicing store

10 min read Updated October 4, 2026 Windows Update & Setup

Fix it now

These are side-by-side identity errors: the servicing stack read a component identity string and found something it will not accept. The repair is to rebuild the damaged parts of the component store from a clean source, then let system file checking pick up anything left.

Run these in an elevated Command Prompt, in order, and let each finish

DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
  1. Read what ScanHealth reports before running the repair. If it says the store is repairable, RestoreHealth is the right next step. If it says no corruption was detected, the fault is elsewhere and rebuilding will not help.
  2. If RestoreHealth cannot fetch what it needs, give it a source of the same version and build: DISM /Online /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim:1 /LimitAccess.
  3. Run sfc /scannow after DISM, not before. System file checking repairs from the component store, so it can only fix things once the store itself is sound.
  4. Retry the update or the feature install that failed, and read the new result rather than assuming.

The source must match the installed version, edition and architecture. An install.wim from an earlier feature update is the most common reason a repair with an explicit source still fails.

If the update installs you can stop here. If not, the next section explains what an identity actually is and why these codes are not the same as a corrupt manifest.

Why it happens

Windows keeps its components in a side-by-side store under %WinDir%\WinSxS, and every component in it is addressed by an identity: a name, a processor architecture, a version, a language and a public key token. Component-based servicing works almost entirely in terms of those identities. It resolves them, compares them, and builds the transaction that installs an update out of them. If it cannot read one, nothing later in the transaction can proceed.

That is what these codes report, and it is a narrower statement than the one usually attached to them. 0x8007370B is Win32 14091, ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: the name of an attribute in an identity is not within the legal range. 0x8007370A is Win32 14090, ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE, the same problem one level down, where the attribute is named correctly but its value is out of range. 0x8007370D is Win32 14093, ERROR_SXS_IDENTITY_PARSE_ERROR: the identity string itself is malformed.

None of the three says a manifest file is corrupt or truncated. That is a different failure with different codes, and the distinction changes what you check. Two other codes in this family do point at document content: 0x800705B9 is Win32 1465, ERROR_XML_PARSE_ERROR, Windows was unable to parse the requested XML data, and 0x80070246 is Win32 582, ERROR_ILLEGAL_CHARACTER. If you are seeing one of those, you are looking at bad bytes in a file. If you are seeing the 1409x codes, you are looking at an identity the stack cannot make sense of.

The component store is damaged and can be repaired in place

You have this one if DISM /Online /Cleanup-Image /ScanHealth reports that the store is repairable.

  1. Run DISM /Online /Cleanup-Image /RestoreHealth and let it complete, which can take a long time.
  2. Follow with sfc /scannow so protected system files are checked against the repaired store.
  3. Retry the failed operation and read the new error, if any.

The repair has no source it can use

You have this one if RestoreHealth stops with a source error, or the machine is managed and cannot reach an update service.

  1. Mount installation media that matches the installed version, edition and architecture.
  2. Point the repair at it: /Source:D:\sources\install.wim:1 /LimitAccess.
  3. If the index is wrong for your edition, list the images first with DISM /Get-WimInfo /WimFile:D:\sources\install.wim.

/LimitAccess stops DISM falling back to Windows Update. Use it when you want to prove the source works, and omit it when you would rather DISM tried both.

A pending transaction is holding the store in a half-changed state

You have this one if The codes appear on every attempt, and the machine has been asking for a restart it never got.

  1. Restart the machine and let it finish whatever servicing operation is queued before doing anything else.
  2. Check %WinDir%\Logs\CBS\CBS.log for the last transaction and whether it completed.
  3. Only then run the DISM repair, so it is not fighting a half-applied change.

The store is damaged beyond in-place repair

You have this one if RestoreHealth completes but the same codes return, or ScanHealth reports the store as not repairable.

  1. Run an in-place upgrade from media of the same or a newer build, keeping applications and files. This rebuilds the servicing store wholesale.
  2. Check the disk first with chkdsk and look at its SMART status, because a store that keeps re-damaging itself is often reporting a hardware problem.
  3. If the machine is a virtual one, restore from a backup taken before the damage rather than repairing forward.

Full reference

The identity codes and their neighbours

Code Win32 Published meaning
0x8007370A 14090 ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: the value of an attribute in an identity is not within the legal range
0x8007370B 14091 ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: the name of an attribute in an identity is not within the legal range
0x8007370D 14093 ERROR_SXS_IDENTITY_PARSE_ERROR: the identity string is malformed
0x80073712 14098 ERROR_SXS_COMPONENT_STORE_CORRUPT: the component store is in an inconsistent state
0x800705B9 1465 ERROR_XML_PARSE_ERROR: Windows was unable to parse the requested XML data
0x80070246 582 ERROR_ILLEGAL_CHARACTER: an illegal character was encountered

0x80073712 is not in the list this article is named after, but it is the code most readers meet next, and it is the one that says the store as a whole is inconsistent rather than one identity being unreadable. If you are collecting evidence for a decision about whether to repair or rebuild, that is the code that tips the balance.

Reading the servicing log

%WinDir%\Logs\CBS\CBS.log is where component-based servicing writes what it did and why it stopped. It is verbose and it is worth the trouble, because it names the component that failed rather than leaving you with a hex value. Search it for the hex code, then read upwards from the first hit to find the package and component being resolved at the time.

Log What it holds
%WinDir%\Logs\CBS\CBS.log The servicing transaction log, including the component that failed
%WinDir%\Logs\DISM\dism.log What DISM itself did, including source resolution during a repair
%WinDir%\Logs\CBS\CheckSUR.log Written by the older system update readiness checks where present

Keeping the store healthy afterwards

Component store growth is normal and is not itself a fault, but a store that has never been cleaned carries every superseded version of every component. Dism.exe /online /Cleanup-Image /StartComponentCleanup removes superseded components on a supported schedule and is safe to run on a working machine.

/ResetBase removes all superseded versions of every component in the store. After it, installed updates cannot be uninstalled. Run it only when you are certain you will not need to roll anything back.

When repair keeps failing

  • Confirm the source really matches. Version, edition and architecture all have to line up, and install.esd from a consumer download is not interchangeable with install.wim from other media.
  • Check free space on the system volume. A repair that cannot expand what it needs fails in ways that look like corruption.
  • Rule out third-party disk filters. Encryption and backup products insert themselves between servicing and the file system, and removing them for the duration of a repair is a fair test.
  • Look at the disk itself. Repeated store corruption on the same machine, especially after a clean rebuild, is a strong hint that the storage is failing rather than the software.
  • On a managed client, make sure the repair is allowed to reach a source at all. A policy that pins servicing at a server holding no repair content turns every repair into a source failure.

Every code this article covers

Code What it points at Source
0x8007370B Win32 14091 ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: an attribute name in a component identity is not within the legal range Microsoft Learn
0x8007370A Win32 14090 ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: an attribute value in a component identity is not within the legal range Microsoft Learn
0x8007370D Win32 14093 ERROR_SXS_IDENTITY_PARSE_ERROR: the identity string is malformed Microsoft Learn
0x800705B9 Win32 1465 ERROR_XML_PARSE_ERROR: Windows was unable to parse the requested XML data Microsoft Learn
0x80070246 Win32 582 ERROR_ILLEGAL_CHARACTER: an illegal character was encountered Microsoft Learn

Confirm the fix worked

  1. DISM /Online /Cleanup-Image /ScanHealth reports no component store corruption.
  2. sfc /scannow completes and finds no integrity violations, or repairs them and says so.
  3. The update or feature install that produced the code now completes.
  4. CBS.log shows the new transaction reaching a successful conclusion rather than stopping at the same component.

Questions people ask about this

Is a manifest file corrupt when I see 0x8007370B?

Not according to what the code says. 0x8007370B is about an attribute name in a component identity being out of the legal range, and 0x8007370D is about the identity string being malformed. Manifest content problems surface as XML parse errors and illegal character errors instead, which are separate codes. The repair overlaps heavily, so the distinction matters less for what you do next than for what you tell someone else is wrong.

Why run sfc after DISM rather than before?

Because system file checking repairs protected files from the component store. If the store is the thing that is damaged, sfc has nothing sound to copy from, and it will either fail or report that it could not repair some files. Fix the store first, then let sfc use it.

How long should RestoreHealth take?

Long enough that people assume it has hung. It commonly sits at a percentage for several minutes at a time while it works through the store, and on a slow disk the whole operation can run for a considerable while. Leave it alone unless it has genuinely stopped making progress over a long period.

Can I just reinstall Windows instead?

You can, and for a store that is damaged beyond repair an in-place upgrade from matching media is the quicker version of that: it rebuilds servicing while keeping applications and files. Reach for it after the DISM repair has genuinely failed, and check the disk’s health first, because a rebuild onto failing storage buys you very little time.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

License Error 0xC004F050 and 0xC004F025: the ESU product key is rejected on install License Error 0x8007042B – 0x4000D: a process dies during the second boot phase Free Fix 0x80245001 and 0x80245003: the update redirector cab cannot be used Free Fix 0x8024001E and 0x80243004: the update was stopped at shutdown, or the tray icon failed
โ† Back to Knowledge Base