Fix ERROR_SXS_XML_E_BADCHARDATA (0x000036D4) Fast
This error means your app's manifest XML has a bad character in it. Nine times out of ten it's from a corrupt file or a character encoding mismatch.
What you're seeing
You get error 0x000036D4 when launching an app—usually an older one or something that was recently updated. The exact message says "An invalid character was found in text content" in the manifest. It's a side-by-side (SxS) assembly error, meaning Windows can't parse the XML manifest file that tells it which DLLs and versions the app needs.
I've seen this most often with:
- Games or utilities that got a bad update (e.g., a Steam game after a patch)
- Custom-built .NET apps where someone edited the manifest by hand
- Software that was transferred from one PC to another via USB or network share
The culprit here is almost always a character encoding problem—like a stray UTF-16 byte in a UTF-8 file, or a hidden control character that shouldn't be there. Let's walk through the fixes in order.
Fix 1: Reinstall the app (30 seconds)
This is the first thing to try. The manifest lives inside the app's installation folder, and if it's corrupt, a fresh install will replace it.
- Uninstall the app via Settings > Apps > Installed apps (Windows 10/11) or Control Panel > Programs and Features.
- Restart your computer. Don't skip this—it clears any leftover registry hooks.
- Download a fresh copy of the installer from the official source. Do not copy it from another machine—that's how corrupt manifests spread.
- Install it and test.
If the error's gone, you're done. If not, the manifest is corrupted in the installer itself, or something else is going on.
Fix 2: Check the manifest file directly (5 minutes)
You'll need to locate the manifest file. It's usually a .manifest file with the same name as the executable, or embedded inside the .exe as a resource. Let's check the external one first—it's easier.
- Right-click the app's shortcut and select Open file location.
- Look for a file named
<appname>.exe.manifestor just<appname>.manifest. - Open it with Notepad (or VS Code if you have it).
- Look at the very first line. It should be something like:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> - Check for invisible characters. In Notepad, turn on View > Show all characters (or use a hex editor if you're comfortable). You're looking for any character that isn't a standard printable ASCII or valid XML entity. Common culprits: a stray
#x0(null byte) or#x1A(EOF marker). - If you see anything weird, delete the entire manifest file (don't try to edit it—too easy to make it worse) and then reinstall the app as in Fix 1. Windows will regenerate the manifest from the app's embedded resource.
No external manifest? That means it's embedded inside the .exe. You'll need a resource editor like Resource Hacker (free). Open the .exe, expand the MANIFEST folder, and export the 1 or 2 resource to a file. Check it the same way. If it's corrupt, you can't fix it easily—go straight to Fix 3.
Fix 3: Use a hex editor to strip bad characters (15+ minutes)
This is the nuclear option. Only do this if the app is critical and there's no updated version available. You'll need a hex editor like HxD (free).
- Make a backup of the .exe file first. Copy it somewhere safe.
- Open the .exe in HxD.
- Search for the string
BADCHARDATAor justxml versionto find the manifest inside the binary. - You'll see the XML as ASCII text in the hex dump. Look for any byte that's not in the range 0x20-0x7E (printable ASCII) except for line breaks (0x0A, 0x0D). Common offenders: 0x00 (null), 0x1A (EOF), 0xFF (invalid byte in UTF-8).
- Replace any bad byte with a space (0x20) or a standard character. Don't delete bytes—it'll shift the whole binary and break the executable. Overwrite them.
- Save the file and test the app.
If the app still crashes, the manifest is probably too damaged to salvage. Try this workaround: create a local manifest in the same folder. Name it <appname>.exe.manifest and paste a basic skeleton from a working copy of a similar app (e.g., from Notepad.exe's manifest). This often tricks Windows into using the external manifest instead of the embedded one.
Last resort: Check the Windows component store
Rarely, the SxS store itself gets corrupted. Run these commands in an admin Command Prompt:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
This fixes system-level manifests that affect all apps. I've only seen this fix the issue in about 5% of cases, but it's worth a shot if nothing else worked.
Short version: 90% of the time, Fix 1 or Fix 2 will sort you out. Don't waste time on hex editing unless you absolutely need that specific app and there's no alternative.
Was this solution helpful?