0X000036E9

Fixing ERROR_SXS_XML_E_MISSINGROOT (0X000036E9) Manifest Error

Windows Errors Intermediate 👁 1 views 📅 May 28, 2026

This error pops up when Windows can't find the root element in a side-by-side manifest XML file. Usually means the manifest is empty or badly formed.

When This Error Shows Up

You're trying to run an older application — maybe a proprietary business tool or a custom-built .exe from 2015 — and it crashes immediately. Windows throws this error in the Application Event Log with Event ID 33 from source SideBySide. The error text says something like: "Manifest Parse Error: XML document must have a top-level element." The error code is 0X000036E9.

I've seen this most often with apps that bundle their own manifest file (either embedded in the .exe or sitting as a separate .manifest file in the same folder). The manifest tells Windows which version of the C++ runtime or common controls to load. If the manifest is empty or missing the root element, Windows throws its hands up.

Root Cause

The manifest file — usually named yourapp.exe.manifest — exists but has no XML root element. Maybe someone edited it and accidentally deleted the opening <assembly> tag. Maybe it got corrupted during an update. Or the app developer shipped a malformed manifest. Whatever happened, the XML parser can't find a top-level node, so it fails immediately.

Had a client last month whose entire print queue died because of this. Turned out a custom POS system had a manifest file with only a comment line — no root element. Spent two hours hunting before I found it.

The fix is straightforward: either repair the manifest or remove it so Windows falls back to default behavior. Here's how.

Step-by-Step Fix

Step 1: Identify the Faulty Manifest

Open Event Viewer (eventvwr.msc). Go to Windows Logs > Application. Look for Event ID 33 from Source SideBySide. Double-click the event — the description will tell you the exact path to the manifest file. Write that path down.

If the event log doesn't show the path (sometimes it's vague), use sxstrace.exe to get details. Open an elevated command prompt and run:

sxstrace.exe trace -logfile:sxs.etl

Then reproduce the error by running the app. Stop the trace with:

sxstrace.exe parse -logfile:sxs.etl -outfile:sxs.txt

Open sxs.txt — the manifest path will be listed in the error details.

Step 2: Inspect the Manifest

Navigate to that path in File Explorer. Right-click the .manifest file and open it in Notepad or a proper XML editor (I use Notepad++). You should see something like:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <!-- assembly identity, dependencies, etc. -->
</assembly>

If the file is mostly empty — maybe just the XML declaration and no <assembly> tag — that's your problem. If the file is completely empty (0 bytes), same issue.

Step 3: Fix or Remove the Manifest

You have two choices:

Option A: Remove the manifest file (quickest, works 90% of the time). Just delete the .manifest file. Windows will use the embedded manifest in the .exe if it has one, or default settings. Rename it to yourapp.exe.manifest.bak first in case you need it back.

Option B: Repair the manifest (if you know what the manifest should contain). Copy a known-good manifest from a working version of the same app, or recreate the minimal structure above. I don't recommend writing one from scratch unless you understand the assembly dependencies — you'll just hit other SxS errors.

After making the change, try running the application again.

What to Check If It Still Fails

If the error persists, check these three things:

  • Embedded manifest in the .exe: Some apps have an internal manifest that's corrupt. Use a tool like mt.exe (part of Windows SDK) to extract it: mt.exe -inputresource:yourapp.exe;#1 -out:extracted.manifest. If that manifest is also missing the root element, you'll need to patch the .exe — or contact the vendor for a fixed version.
  • Multiple manifest files: A few apps look for appname.exe.manifest and appname.manifest in the same folder. If both exist and one is bad, you'll see the error. Delete or rename the bad one.
  • Permissions: Rare, but if the manifest file is on a network share or a protected folder, Windows might not be able to read it. Move the app to a local folder (e.g., C:\Program Files\YourApp) and try again.

Most of the time, it's just a misformatted manifest file. Delete it, move on. If you're still stuck, check the exact application event log text and search for that path — you'll usually find the specific line causing the parse failure.

Was this solution helpful?