0X000036E2

SXS XML_E_WHITESPACEORQUESTIONMARK Fix: Manifest Parse Error

Windows can't parse a manifest file due to bad whitespace or a misplaced '?'. Usually tied to broken installs or custom apps. Here's the fix.

You'll see this error show up in the Windows Application Event Log as Event ID 33 from the SideBySide source. The message says something like "Activation context generation failed" and then points to XML_E_WHITESPACEORQUESTIONMARK. The exact error code is 0X000036E2.

This happens when Windows tries to parse an application manifest—either an embedded manifest inside an EXE/DLL or an external .manifest file—and hits a character it doesn't like. Specifically, the XML parser expected whitespace (space, tab, newline) or a question mark (?) in a specific spot, and found something else. That's it. It's a syntax error, not a deep system failure.

What's actually going on

I've seen this most often after a botched software install or when someone manually edits a manifest file to get around a compatibility issue. The culprit is almost always a stray character—a missing space between attributes, a misplaced question mark in a processing instruction, or a non-breaking space (character 0xA0) that slipped in from copying text out of Word or a web page. XML parsers are picky—they only accept standard ASCII spaces, not fancy Unicode spaces.

Here's the thing: the manifest file is just XML. If you know where it sits, you can crack it open and fix it in two minutes. The problem is finding it.

Find the offending manifest

  1. Check the event log first. Open Event Viewer, go to Windows Logs > Application, and look for the most recent Event ID 33. The Details tab will show the full path to the manifest or the binary that contains it. Write that down.
  2. If the event log points to a specific EXE, the manifest is probably embedded. You can't edit that with Notepad. But you can often work around it—see the fix below.
  3. If it's an external .manifest file, find it and open it in a proper text editor. Not Notepad—use Notepad++ or VS Code. They show non-printing characters, which makes spotting the problem way easier.

The fix, step by step

  1. Back up the manifest file (if external) or the binary (if embedded). A simple copy to a .bak works fine.
  2. Open the manifest in a text editor that shows invisible characters. In Notepad++, go to View > Show Symbol > Show All Characters. Look for any place where you see a dot that's not a normal space—especially near attribute values or around processing instructions like <?xml version="1.0" encoding="UTF-8"?>.
  3. Fix the XML structure. The most common issue is missing a space between attributes. For example, you might have name="Foo"version="1.0" instead of name="Foo" version="1.0". Another classic: an extra ? in a tag, like <?assemblyIdentity ...?> instead of <assemblyIdentity ... />.
  4. Re-save the file with UTF-8 encoding (no BOM). Make sure the line endings are CRLF or LF consistently—don't let the file mix them.
  5. If the manifest is embedded (inside an EXE), you can't edit it directly. The better move is to create an external manifest file next to the EXE with the same name, like MyApp.exe.manifest. Then use mt.exe (from the Windows SDK) to merge it: mt.exe -manifest MyApp.exe.manifest -outputresource:MyApp.exe;#1. That replaces the embedded manifest without recompiling.
  6. Reboot or restart the app. Sometimes the side-by-side cache holds the old parse failure. A reboot clears it.

Still failing? Then do this

If the error persists, you're not dealing with a simple typo. Maybe the file is corrupted or the app is pulling a manifest from somewhere unexpected. Try these in order:

  • Check for group policy or registry overrides. If a policy redirects activation contexts, your fix might be ignored. Look for HKLM\Software\Microsoft\Windows\CurrentVersion\SideBySide and see if PreferExternalManifest is set. Set it to 1 to force Windows to use external .manifest files instead of embedded ones—this can be a lifesaver.
  • Run the System File Checker. It's a long shot, but if a system DLL has a corrupt manifest, SFC will fix it. Open an admin command prompt and run sfc /scannow.
  • Repair the app. If it's a third-party app, uninstall and reinstall. I've seen this happen after a partial update where the manifest got truncated. A clean install usually clears it.
  • If it's your own code and you're generating manifests manually, stop doing that. Use the build tools (Visual Studio or CMake) to generate them. They don't make these mistakes.
One more thing: don't bother with registry cleaners or "system repair" tools. They won't touch this. The manifest is just a file—if you can't fix it, replace it.
Related Errors in Windows Errors
0X80000028 STATUS_PLUGPLAY_QUERY_VETOED (0X80000028) Fix: Driver or USB Conflict 0XC026232C 0XC026232C: Monitor descriptor not in set fix 0X0000209A Fixing ERROR_DS_ATTRIBUTE_OWNED_BY_SAM (0x0000209A) 0XC000025B STATUS_PWD_TOO_RECENT (0XC000025B) — password change blocked by domain policy

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.