0X000036D0

Fix 0X000036D0: XML bad start name character in manifest

Windows Errors Intermediate 👁 0 views 📅 May 28, 2026

This error means your manifest file has an illegal character in an XML name. It’s usually a typo or copy-paste issue in the first character of an element or attribute.

Quick answer for advanced users: Open the manifest XML in a hex editor or VS Code. Look for element or attribute names starting with a number, special character, or a stray byte (like BOM or null). Replace with a valid letter or underscore.

This error — ERROR_SXS_XML_E_BADSTARTNAMECHAR (0X000036D0) — pops up when Windows tries to load a side-by-side manifest (usually embedded in an executable or in a .manifest file) and finds an XML name that doesn’t follow the XML spec rules. XML names must start with a letter, underscore, or colon (but colon is reserved for namespaces, so avoid it). Numbers, hyphens, periods, and most punctuation are illegal as the first character. The most common trigger? Copy-pasting assembly XML from a website or older document that includes a BOM (byte order mark), a tab, or a stray number at the start of an attribute like 0assemblyIdentity instead of assemblyIdentity. I’ve also seen this happen when a developer accidentally pastes a line number from a code listing into the XML.

I know this error is infuriating because the app just won’t start and Event Viewer gives you that cryptic hex code. But the fix is straightforward once you know where to look.

Step-by-step fix for 0X000036D0

  1. Find the manifest. Usually it’s embedded via a .manifest file in the same folder as the .exe, or inside the .exe itself (use a tool like Resource Hacker to extract it if needed). If the app is from an installer, look in the Program Files folder.
  2. Open the manifest in a clean text editor. Not Notepad — it hides encoding issues. Use Visual Studio Code, Sublime Text, or Notepad++ with “Show All Characters” enabled. This reveals invisible characters like BOM (shows as  or U+FEFF).
  3. Look for the first character of each XML element and attribute name. XML names cannot start with: 0-9, -, ., : (unless namespace), or any punctuation except _. Common culprits:
    • 0assemblyIdentity — number at the start.
    • -assembly — hyphen at the start.
    • .assembly — period at the start.
    • assemblyIdentity — BOM before the element.
  4. Fix each invalid name. Change the first character to a letter (a–z, A–Z) or underscore. For example, change 0assemblyIdentity to assemblyIdentity. If the BOM is present, save the file as UTF-8 without BOM (most editors have this option).
  5. Save and test. Use sfc /scannow or just restart the app. If the error is gone, you’re done.

If the manifest is embedded

Some apps embed the manifest as a resource inside the .exe. You can’t edit it directly. In that case:

  • Extract the manifest using Resource Hacker (free).
  • Fix it in your editor.
  • Recompile the .exe with the corrected manifest using mt.exe from the Windows SDK.
Command example:
mt.exe -manifest fixed.manifest -outputresource:yourapp.exe;#1
Where #1 is the manifest resource ID (usually 1 for .exe).

Alternative fix: rebuild the manifest from scratch

If you can’t identify the bad character, it’s faster to generate a clean manifest. For a typical Windows app, use this template and replace YourApp.exe and 1.0.0.0 with your actual app info:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    type="win32"
    name="YourApp.exe"
    version="1.0.0.0"
    processorArchitecture="x86" />
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

Save as yourfile.manifest and embed or place alongside the .exe.

Prevention tip for developers

Always validate your manifest XML with an XML schema validator before building. Tools like xmllint (Linux) or the built-in XML validation in Visual Studio catch these issues instantly. And never copy-paste XML from a PDF or HTML page — they often add invisible formatting characters.

One more thing: if you’re on Windows 10 or 11 and still see the error after fixing the manifest, check for a corrupted app.manifest file in your project’s Properties folder. It’s a hidden file Visual Studio generates — same fix applies.

Was this solution helpful?