SXS Manifest Error 0X000036D1: Invalid Name Character Fix
Windows shows this when a side-by-side manifest file has a bad character in an XML name. It's almost always a typo in a custom manifest or an update that broke one.
When This Error Hits
You're installing an app, running a system update — or even just opening something as simple as Notepad. Suddenly Windows throws ERROR_SXS_XML_E_BADNAMECHAR (0X000036D1). The exact message: A name contained an invalid character. This isn't a random glitch. It's the Windows Side-by-Side (SXS) system choking on a manifest file that has a bad character in an XML element or attribute name. I've seen this most often after a botched Windows Update install, or when someone manually edited a manifest file and accidentally added a space or special character where it doesn't belong. Visual C++ redistributable packages are another common culprit — one corrupted manifest in vc_runtime and this error pops up for every app that depends on it.
What's Actually Happening
Windows SXS manages DLL versions so apps don't step on each other. Every app with a manifest tells Windows "I need this specific version of this DLL." The manifest file itself is XML. XML has strict rules for names: they must start with a letter, underscore, or colon, and can only contain letters, digits, hyphens, underscores, and colons. No spaces. No funny Unicode symbols. No slashes. If Windows' sxs.dll hits a name character that breaks those rules, it bails with 0X000036D1. The error code 0X000036D1 maps to XML_E_BADNAMECHAR in the XML parser. So the root cause is always a manifest file that violates XML naming conventions. The fix is finding that file and correcting it — or removing the broken update that introduced it.
How to Fix It
Step 1: Find the Corrupt Manifest
Open Event Viewer (eventvwr.msc). Go to Windows Logs > System. Filter for source SideBySide. Look for an event with error ID 33 or 59. The event details will show the manifest file path — something like C:\Windows\WinSxS\Manifests\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.42_none_.... That's your target. Write down the full path. If Event Viewer shows nothing, check recent Windows Update history in Settings. The update KB5034441 or similar rollups often trigger this.
Step 2: Validate the Manifest XML
Open PowerShell as Administrator. Run this to check for invalid characters in the manifest you found:
$manifest = "C:\Windows\WinSxS\Manifests\your-manifest-file.manifest"
[xml]$xml = Get-Content -Path $manifest -Encoding UTF8
If it throws an XML parsing error, the manifest is corrupt. If it loads, the issue might be elsewhere — but 9 times out of 10, it'll fail here.
Step 3: Fix the Manifest
You have two options. The quick one: replace the entire manifest from a known good copy. If it's from a Visual C++ runtime, uninstall and reinstall the redistributable package. For a Windows Update component, uninstall the update from Settings > Windows Update > Update History > Uninstall updates. The more surgical approach: open the manifest file in Notepad (or VS Code) and look for name attributes with spaces, slashes, or high Unicode characters. Search for name=" and check each value. A common pattern I've seen is a stray Unicode replacement character (U+FFFD) inserted by a bad editor. Find it, replace it with the correct character, save the file, reboot. But honestly — surgically editing manifests is risky. One wrong byte and you break more than you fix.
Step 4: Rebuild the SXS Store
If you can't pinpoint the exact manifest, run DISM with a repair source. This replaces any corrupt SXS files automatically:
DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\RepairSource\Windows /LimitAccess
Make sure C:\RepairSource\Windows points to mounted install media or a working Windows installation. Without a source, DISM might grab fresh files from Windows Update — but if the update itself is what broke things, that can fail. Use an ISO from the same Windows build (run winver to check).
Step 5: SFC as a Safety Net
After DISM, run:
sfc /scannow
SFC checks system files against the repaired SXS store. It'll flag any leftovers. I've seen SFC find corrupt manifest files that DISM missed because the manifest was technically valid XML but had wrong content. SFC cares about content hashes, not just XML structure.
Still Failing?
If the error persists after all that, the problem might be a third-party app's custom manifest. Look in C:\Program Files and C:\Program Files (x86) for folders matching the app you were installing. Inside each, check for app.manifest or any .manifest file. Use a tool like XML Notepad or xmllint to validate them. I've fixed a few cases where Adobe or Autodesk installers shipped manifest files with non-breaking spaces (0xA0) instead of regular spaces. Those pass human eye but break XML. Replace 0xA0 with 0x20 in the name attribute values and the error disappears.
One last thing: check your system's %systemroot%\Temp and %temp% folders. Corrupt manifests can get cached there from failed updates. Clean them out with Disk Cleanup (cleanmgr.exe) — tick System error memory dump files and Delivery Optimization Files. I've seen a stuck delivery optimization cache re-inject a corrupt manifest on every boot. Wipe it, reboot, and you're clear.
Was this solution helpful?