0X000036E1

Fix ERROR_SXS_XML_E_INVALID_UNICODE (0x000036E1) Manifest Error

Windows Errors Intermediate 👁 0 views 📅 May 28, 2026

This error means a manifest file has a bad Unicode character. It usually hits during app installs or updates. I'll show you the quick fix and what causes it.

I know this error is infuriating — you're trying to install or run something and suddenly hit ERROR_SXS_XML_E_INVALID_UNICODE (0x000036E1). The message says a Unicode character in the manifest is invalid for your platform. Let's fix that.

The Quick Fix: Check and Repair the Manifest File

The root cause is almost always a corrupted or improperly encoded manifest file embedded in an executable or DLL. Windows uses side-by-side (SxS) assemblies to manage dependencies, and if the manifest contains a Unicode character outside the valid range for your system, it bails.

  1. Identify the offending file. Check the Windows Event Viewer under Windows Logs > Application. Look for an event with Source SxS and Event ID 33 or 36. It will tell you which executable or DLL triggered the error.
  2. Extract the manifest. Use a tool like Resource Hacker or 7-Zip (if it's a standalone manifest). For PE files, open the file in a hex editor and search for <assembly to find the RT_MANIFEST resource.
  3. Find the bad character. Manifests are XML, and the parser expects UTF-8 or UTF-16. Invalid Unicode characters often appear as 0xFFFF or 0xFFFE — bytes that shouldn't be there. Open the manifest in a text editor like Notepad++ with UTF-8 encoding and enable Show Symbol > Show All Characters. Look for [U+FFFD] replacement characters or low/high surrogates without their pair.
  4. Remove or replace the bad byte. If it's a single character, delete it. If it's a stray byte, replace with the correct Unicode character or remove. Save the file as UTF-8 without BOM (byte order mark).
  5. Re-embed the manifest using Resource Hacker (if it's a PE file) or just replace the manifest file if it's standalone.

For example, I once saw this error after a weird sync tool wrote a manifest with a 0xFFFF byte at position 0x1A2. Deleting that single byte fixed the app for a whole office. This isn't rare — it happens often with bad file transfers or faulty patch scripts.

Why This Happens

Windows uses the SxS assembly system to manage .NET and native dependencies. The manifest must conform to the XML spec with valid Unicode. The error 0x000036E1 specifically means the parser found a character that isn't allowed in the current Unicode version (e.g., a surrogate pair without the second half, or a code point above 0x10FFFF). This is a low-level check, so even a stray byte can break it.

It's most common with apps that were built with older tools like Visual Studio 2008 or 2010, or when files get corrupted during download. I've also seen it with poorly-written custom installers that hardcode Unicode characters.

Less Common Variations

Variation 1: System File Corruption

If the error comes from a system DLL like msvcrt.dll or kernel32.dll, run sfc /scannow to restore system files. This is rare because system files are signed, but I've seen it after bad updates.

Variation 2: Language Pack Mismatch

Sometimes the manifest references a language-specific resource (like a locale string) that contains invalid Unicode. In that case, go to Settings > Time & Language > Language and reinstall your language pack. I've had this happen with Chinese and Arabic language packs on English systems.

Variation 3: Corrupted Windows Side-by-Side Cache

If the error persists across multiple apps, the SxS cache itself might be damaged. Open Command Prompt as Administrator and run:

DISM /Online /Cleanup-Image /RestoreHealth
Sfc /Scannow

Then reboot. This rebuilds the %WINDIR%\WinSxS folder. It takes time but often works when nothing else does.

Prevention

  • Always close tools cleanly. Don't kill a file transfer or update process mid-stream — that's how stray bytes get into manifests.
  • Use signed installers. They include a digital signature that verifies the manifest hasn't been tampered with. Only download from official sources.
  • Check your encoding. If you're a developer, save manifest files as UTF-8 without BOM. Use &#x syntax only for characters that exist in the Unicode standard (0x0 to 0x10FFFF).
  • Run Windows Update. Microsoft has fixed many Unicode parsing bugs over the years. The error is less common on Windows 10 22H2 and Windows 11.

That's the full fix. If you're still stuck, double-check the Event Viewer for the exact file path. The offending character is usually obvious once you open the manifest in a hex editor. Good luck — you've got this.

Was this solution helpful?