0X000036E5

SXS Duplicate Attribute 0X000036E5: Manifest Parse Error Fix

Windows Errors Intermediate 👁 8 views 📅 May 27, 2026

This error means a Windows manifest file has the same attribute defined twice. It usually hits when installing or running apps that modify DLLs or manifests.

What Actually Causes Error 0X000036E5

This error means the Windows side-by-side assembly (SXS) parser found two attributes with the same name in one XML element inside a manifest file. It's not ambiguous—the XML spec explicitly forbids it, and Windows enforces that. The manifest could be embedded in a DLL, an EXE, or sitting as a separate .manifest file in the app folder or the WinSxS store.

The error typically shows up when you try to launch an application, run an installer, or sometimes during system boot. I've seen it most often after a failed update that left a corrupted manifest, or when someone copied an app from another machine and the manifest paths broke.

Cause #1: Malformed XML in an Embedded Manifest — Use a Hex Editor or Resource Hacker

The most common trigger is a third-party DLL or EXE that has a manifest resource with duplicate attributes. Think name="MyApp" name="MyApp" inside an <assemblyIdentity> element. Usually one of its dependencies got rebuilt with a bad merge, or someone hand-edited the XML and duplicated a line.

Here's how to find and fix it.

  1. Identify the failing module. Check the Application event log (Event Viewer → Windows Logs → Application) for a Warning from source SideBySide. It'll tell you which file has the bad manifest and often the exact line number.
  2. Open that file in Resource Hacker (free tool) or a hex editor. In Resource Hacker, look for RT_MANIFEST resources. In a hex editor, search for the plaintext <assembly.
  3. Inspect the XML. Look for a single element (like <assemblyIdentity> or <file>) that lists the same attribute twice. Example: <assemblyIdentity name="foo" name="bar" /> — that's your bug.
  4. Remove the duplicate. Keep the first occurrence, delete the second. Save the modified file.

The reason step 3 works: the SXS parser reads left to right and expects exactly one instance per attribute per element. The second one throws a fatal parse error, and the Windows loader aborts.

Cause #2: Corrupted WinSxS Manifest — Use DISM with Explicit SxS Store Path

If you can't find an app-specific exe or dll triggering the error, it's likely the global WinSxS store. I've seen update rollbacks leave behind manifests with duplicate entries for processorArchitecture or publicKeyToken. The fix is to restore system health.

  1. Open an elevated Command Prompt (Run as Administrator).
  2. Run DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess — replace C:\RepairSource\Windows with a path to a known-good Windows ISO or the WinSxS folder from a healthy machine. The /LimitAccess flag prevents it from going online (no need to trust Windows Update).
  3. After DISM finishes, run sfc /scannow to replace any corrupt system files the manifest fix uncovered.

Why this works: DISM doesn't just check file hashes—it validates the manifest XML structure against the schema. When it finds a duplicate attribute, it can replace the whole manifest from the source. Without the /Source parameter, Windows might pull a bad copy from its own store, which is useless if the corruption is global.

Cause #3: Bitness Mismatch in Manifest — 32-bit vs 64-bit Confusion

Less common, but I've hit it with older installers that ship a 32-bit manifest on a 64-bit system. The manifest declares processorArchitecture="x86" twice because a 64-bit shim script merged them poorly, or the manifest references a 64-bit assembly id with two different architecture attributes in the same element.

How to check: Look at the manifest snippet from Cause #1. If you see something like <assemblyIdentity name="Microsoft.VC90.CRT" processorArchitecture="x86" processorArchitecture="amd64" />, that's the problem. The manifest can't target both architectures in one assembly identity.

Fix: Determine the correct architecture for the app. Most 32-bit apps run fine on 64-bit Windows with a 32-bit manifest. Keep the processorArchitecture that matches your app's bitness, delete the other. Or reinstall the app with the correct redistributable package for your OS architecture.

Pro tip: If you see this error during a game install (common with older Steam or GOG titles), the culprit is usually a DirectX redistributable that got mangled. Run the DirectX End-User Runtime Web Installer from Microsoft—it overwrites the bad manifests.

Quick-Reference Summary Table

Cause Diagnostic Fix
Malformed XML in app file Event ID 80 or 81 from SideBySide, lists file + line Open in Resource Hacker, delete duplicate attribute
Corrupted WinSxS manifest No app-specific file, error on system boot DISM /RestoreHealth with explicit /Source, then SFC
Bitness mismatch Manifest has two processorArchitecture values Remove wrong architecture attribute or reinstall correct redist

You'll almost never see this error twice if you catch the specific file and line from the Event log. The SXS parser is pedantic by design—fix the XML, and Windows stops complaining.

Was this solution helpful?