Fix ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE (0X000036DA) on Windows
This error pops up when Windows can't read a manifest file because there's a space or tab where it shouldn't be. You'll see it trying to open a program or install an update.
When This Error Shows Up
You're trying to run an older program—maybe something from 2012 like a legacy accounting app or a custom line-of-business tool. Or you're installing a Windows update on Server 2012 R2 or Windows 7. Halfway through, you get a popup:
ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE
The exact hex code is 0X000036DA. The program never starts. The update fails. Everything stops.
I've seen this most often with apps that use older Visual C++ redistributables or custom DLLs that ship their own manifest files. One misplaced space and Windows says nope.
What's Actually Going On
Windows uses manifest files to tell the system which version of a DLL or COM control a program needs. These files are XML. XML is picky about whitespace—spaces, tabs, carriage returns—especially inside element tags like <assemblyIdentity> or <dependency>.
The error literally means: "You put a space where XML doesn't allow one." It could be a stray tab before the closing >, or a space after a forward slash in a self-closing tag like <file />. The Windows SXS (Side-by-Side) parser catches it and throws error 0X000036DA.
90% of the time, the problem is in the application's embedded manifest or in a global assembly catalog file. The other 10% is a corrupted OS manifest—usually after a failed update.
The Fix: Step by Step
You need to find the bad XML file and fix the whitespace. Don't bother reinstalling the app yet—that rarely helps. Here's the real fix.
- Identify the broken manifest. Open the Event Viewer by pressing Win + R, typing
eventvwr.msc, then hitting Enter. Go to Windows Logs > Application. Look for an error event with source SideBySide—it'll reference a specific .manifest or .dll file. Write down the file path. For example:C:\Program Files\OldApp\app.exe.manifest. - Back up the file. Before you touch anything, right-click the file and copy it to a safe folder like
C:\backup. You can restore it if you break something. - Open it in a proper XML editor. Do not use Notepad. It hides whitespace. Use Notepad++ (free) or Visual Studio Code. Right-click the file, choose Edit with Notepad++.
- Turn on whitespace visibility. In Notepad++, click View > Show Symbol > Show All Characters. Now you'll see dots for spaces, arrows for tabs, and a
CRorLFfor line endings. Focus on the line number the Event Viewer mentioned. - Find the stray spaces or tabs. Look inside tags like
<assemblyIdentity name="MyApp" version="1.0.0.0" />. A typical mistake:<assemblyIdentity name="MyApp" version="1.0.0.0" / >—notice the space before the forward slash? That's illegal. Also check for tabs between attribute names and the closing>. - Remove the illegal whitespace. Delete any spaces or tabs that aren't between words in attribute values. For a self-closing tag, the correct format is:
<tag attribute="value" />—one space before the slash, no space after the slash. - Save the file. Press Ctrl + S. Close the editor.
- Clear the SXS cache (optional but recommended). Open Command Prompt as Administrator. Run:
Wait for it to finish. Then run:sfc /scannow
This rebuilds the SXS store and can fix other corrupted manifests. Restart after.DISM /Online /Cleanup-Image /RestoreHealth - Test the program. Double-click the app again. If it still fails, check the Event Viewer again for a new SideBySide error. It might point to a different file.
What If It Still Fails?
Two things:
- Check for multiple manifests. Some apps ship the manifest inside the .exe itself (as a resource). You can't edit that easily. In that case, download a fresh copy of the installer from the vendor's site—the original might have been corrupted.
- Run the SXS troubleshooting tool. Microsoft's Process Monitor (procmon.exe) can show you every file the app tries to read. Filter by the app name and look for NAME NOT FOUND or BUFFER OVERFLOW entries. That'll point to a missing or malformed manifest.
- If none of that works, re-register the SXS DLLs. Open an elevated Command Prompt and type:
Then reboot. It's a long shot, but I've seen it fix weird parse errors on Server 2012.regsvr32 atl.dll regsvr32 msvcrt.dll
That's it. You're not going to fix this by reinstalling Windows. Find the bad file, kill the whitespace, move on.
Was this solution helpful?