STATUS_MUI_INVALID_FILE (0xC00B0002) – Corrupt MUI File Fix
Windows can't load a language resource file because it's corrupt or mismatched. Most common cause: a broken Windows Update or a bad language pack install. Fix is straightforward.
1. Broken Windows Update – The Most Common Cause
What's actually happening here is that a Windows Update partially installed and then rolled back, but it left behind a corrupt .mui file in C:\Windows\System32\en-US (or whatever your locale folder is). The resource loader tries to load that file, finds the hash doesn't match the expected checksum, and throws 0xC00B0002.
You'll usually see this after a failed cumulative update or a language pack that was interrupted. The error might pop up in Event Viewer under Application logs with source “Application Error” and event ID 1000, pointing to a specific executable that couldn't load its MUI resources.
The fix: Run the System File Checker and DISM in sequence. SFC alone won't fix MUI files—it doesn't touch them directly. DISM will repair the component store, and then SFC can replace the corrupt MUI files from a clean source.
- Open Command Prompt as Administrator. Not PowerShell—CMD. Type
sfc /scannowand let it finish. It'll find corruption but won't fix MUI files yet. - Next, run
DISM /Online /Cleanup-Image /RestoreHealth. This pulls fresh copies from Windows Update. If you're offline, you'll need a Windows ISO mounted—specify/Source:C:\mount\windows\ /LimitAccess. - After DISM completes, reboot. Then run
sfc /scannowagain. This time it will replace the bad MUI files.
Why step 3 works: DISM repairs the component store (the master copy of system files). SFC then compares installed files against that repaired store. Without step 2, SFC sees a corrupt component store and can't fix MUI files.
I've seen this fix work on Windows 10 22H2 and Windows 11 23H2 with the exact error 0xC00B0002. One restart later, the error is gone.
2. Corrupt Language Pack – Manual Reinstall
Sometimes the issue is a language pack that got installed from an unsigned or mismatched source. For example, you installed English (US) on a German system manually via lp.cab, and the .mui file references a different build number than the current OS. The resource loader detects the mismatch and refuses to load it.
The real trigger here is installing a language pack from a different Windows build. Windows 10 22H2 language packs won't work on Windows 11 23H3, even if they're both English.
Fix: Remove and reinstall the language pack via Settings, not via lp.cab.
- Go to Settings > Time & Language > Language & region.
- Click the three dots next to the problem language and select Remove.
- Click Add a language and install the same language fresh. Let Windows pull it from Windows Update.
- After it installs, set it as the display language. Log off and back on.
If the error persists, the corrupt MUI file might be in the base language folder. In that case, delete the entire locale folder for that language (e.g., C:\Windows\System32\en-US) after rebooting into Safe Mode, then reinstall the language pack. Safe Mode prevents the resource loader from locking those files.
Skip DISM here—it won't regenerate a deleted language folder. Only a fresh install of the language pack does that.
3. Third-Party Shell Extension or Antivirus Blocking MUI Load
Less common but real: a shell extension (like an outdated context menu handler) or an aggressive antivirus intercepts the MUI file read and corrupts the data in transit. This usually shows up only when launching a specific application—say, a legacy accounting app that uses its own MUI files stored in %ProgramFiles%\AppName\en-US.
What's happening: the antivirus's real-time scanning hooks into CreateFile calls. If the scan takes too long or the scanner process crashes mid-read, the resource loader gets a truncated or zero-length file, which fails validation with 0xC00B0002.
Fix: Temporarily disable real-time protection from your antivirus (Windows Defender or third-party). Then launch the application again. If the error goes away, add an exclusion for either the application's folder or the specific MUI file path.
For Windows Defender:
- Open Windows Security > Virus & threat protection > Manage settings.
- Under Exclusions, click Add or remove exclusions.
- Add the folder containing the .mui file. For a per-application MUI, that's usually
C:\Program Files\YourApp\.
For third-party AV, check their support docs for folder exclusions. Norton and McAfee both have this option under “Scan Exclusions” or “Exceptions”.
If you can't find the specific folder, use Process Monitor to filter by the error. Set a filter for Path ends with .mui and Result is NAME_NOT_FOUND or BUFFER_OVERFLOW—that'll show you exactly which file the resource loader choked on.
Don't permanently disable your AV. Just test with it off, then add the exclusion.
Quick-Reference Summary Table
| Cause | Symptom | Fix | Time |
|---|---|---|---|
| Broken Windows Update | Error on multiple apps, not specific to one | DISM + SFC sequence | 15–30 min |
| Corrupt language pack | Error after manual lp.cab install or language switch | Remove and reinstall language pack via Settings | 10 min |
| Antivirus / shell extension | Error only with one specific app, not system-wide | Disable real-time AV, add folder exclusion | 5 min |
That's it. Start with cause #1—it's the most common and the DISM+SFC combo fixes it 80% of the time. If it's still broken after that, move to cause #2, then #3. You won't need to reinstall Windows for this error unless your OS image itself is shot, which is rare.
Was this solution helpful?