NS_E_METADATA_CANNOT_SET_LOCALE (0XC00D32D7) Fix
Happens when Windows Media Player or a WMP-based app can't set a locale for metadata. Usually a registry corruption or missing language pack.
You're trying to play a video file—maybe an MP4 from your camera or an MKV you downloaded—and Windows Media Player (or an app that uses its metadata engine, like Windows 10's Movies & TV) throws up error 0XC00D32D7 with the message "Cannot set the locale id." The file might play fine in VLC or MPC-HC, but the built-in Windows stuff chokes. The trigger is almost always a media file with embedded locale metadata (like a language tag for subtitles or audio track) that the system can't match to any installed locale.
What's actually happening here?
Windows Media Player uses the COM interface ILibraryManager and the metadata handler (IPropertyStore) to read file properties. Part of that process is setting the locale—essentially telling the system which language or region to use when interpreting metadata strings. If the locale ID in the file (say, 0x0409 for en-US) doesn't correspond to any installed language pack on your system, or if the registry keys that map locale IDs to installed packs are corrupted or missing, WMP can't initialize the metadata handler. It bails with NS_E_METADATA_CANNOT_SET_LOCALE.
The root cause is almost never the file itself—it's a system configuration problem. Specifically, one of these three things:
- Missing language pack — The locale in the file isn't installed on your Windows version.
- Registry corruption — The locale mapping under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OC Manager\Subcomponentsor theHKEY_CLASSES_ROOT\Localekey is broken. - Group Policy or third-party tool — Something stripped locale support, like a debloater script.
The fix
Skip the usual "run SFC" nonsense. The real fix targets the registry and language packs. Do these in order.
Step 1: Check installed languages
Open Settings (Win + I) > Time & Language > Language & region. Under "Preferred languages," make sure at least one language is fully installed. If it shows "Language pack available" instead of "Installed," click it and hit Options to download. For most U.S. users, English (United States) needs to be installed. If you have multiple, that's fine—the system uses the first one as default.
Step 2: Restore the locale registry key
The critical registry key is HKEY_CLASSES_ROOT\Locale. It's a binary value that stores the default system locale. If it's missing or set to something weird, apps can't resolve locale IDs. Here's how to fix it:
- Press Win + R, type
regedit, and hit Enter. - Navigate to
HKEY_CLASSES_ROOT. - Look for a key named
Locale. If it's missing, create it: right-click onHKEY_CLASSES_ROOT> New > String Value. Name itLocale. - Double-click
Localeand set its value to00000409for en-US. If you're in the UK, use00000809. For other locales, look up the LCID hex value (e.g., 0x040C for fr-FR becomes0000040C). - Restart your PC.
Step 3: Repair Windows Media Player
This re-registers the COM components that handle metadata.
dism /online /enable-feature /featurename:MediaPlayback /all
regsvr32 wmp.dll
regsvr32 wmploc.dll
regsvr32 wmpshell.dll
Run those from an admin command prompt (Win + X > Terminal (Admin)). The /all flag ensures all subfeatures are installed. Then restart.
Step 4: Check for locale policy
Group Policy can lock locale settings. Open gpedit.msc (Pro/Enterprise only) and go to Computer Configuration > Administrative Templates > Windows Components > Windows Media Player. Look for "Locale Support" settings. If anything is enabled and restricting locales, set it to Not Configured. If you're on Windows Home, skip this—you can't use gpedit.
What to check if it still fails
If the error persists after the steps above, the problem is likely a corrupted user profile. Create a new local admin account and test playback there. If it works, migrate your data and ditch the old profile. Also, check for third-party shell extensions that hook into media files—tools like MediaMonkey or iTunes can sometimes replace the metadata handler with their own. Uninstall them temporarily to test.
One more thing: ensure the file itself isn't damaged. Use ffprobe (from ffmpeg) to inspect the locale tags:
ffprobe -v error -show_entries stream=index,codec_type,tag:language yourfile.mp4
If the language tag shows a value like und (undefined) or a four-character code the system doesn't recognize , that's the culprit. Strip the tag with ffmpeg:
ffmpeg -i yourfile.mp4 -map 0 -c copy -metadata:s:a:0 language= -metadata:s:s:0 language= output.mp4
That removes all stream-level language metadata. If the file plays after that, you've confirmed it's a locale mismatch in the file itself, not the system. In that case, either batch-remove language tags from your media or switch to a player that doesn't care about locale IDs—like VLC.
Was this solution helpful?