0X8002000C

DISP_E_UNKNOWNLCID Fix: Stop the 0x8002000C Error for Good

DISP_E_UNKNOWNLCID (0x8002000C) means Windows or an app can't find a language ID. Here's how to fix it fast, plus why it happens.

I know this error is infuriating—you're mid-work, an app or script throws DISP_E_UNKNOWNLCID (0x8002000C), and suddenly you're translator for a language nobody speaks. Let's fix it.

The Quick Fix: Set Your System Locale

The most common trigger is a mismatch between your Windows display language and the language the app expects. Windows uses a numeric language ID (LCID) for each language, and when it can't find a match, it throws 0x8002000C.

Step 1: Check Your Display Language

  1. Press Win + I to open Settings.
  2. Go to Time & Language > Language & Region.
  3. Under Preferred languages, confirm you have at least one language set. If it's empty, click Add a language and pick English (or your native tongue).
  4. If your language is there but marked as Windows display language: No, click it and hit Set as default.

Step 2: Fix the Registry LCID

This is the real fix. The registry stores your current LCID, and sometimes it gets corrupted or points to a non-existent language. Open regedit.exe and navigate to:

HKEY_CURRENT_USER\Control Panel\International\User Profile

Look for a value named Languages (a multi-string). It should contain something like en-US or es-ES. If it's missing or weird, double-click and add your language tag. For US English, type en-US on its own line.

Then go to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language

Check Default and InstallLanguage. These should be numeric LCIDs like 0409 for English (US). If they're wrong, change them. You'll need admin rights. After editing, reboot.

Why This Works

Windows stores language info in two places: the user profile (which the app reads) and the system NLS keys (which Windows itself uses). When you change your display language, Windows updates both. But if you've ever installed a language pack, then removed it, or used a portable app that tweaks the registry, these values can get out of sync. The error is Windows saying, “I can't find the language you're asking for.” Resetting these values forces everything to align.

Less Common Variations

Office and VBA Scripts

If you get this error in Excel or Access with VBA, it's often about the Application.LanguageSettings object. Try running this from the Immediate Window (press Ctrl + G):

Debug.Print Application.LanguageSettings.LanguageID(msoLanguageIDUI)

If it returns 0 or an error, your Office installation is missing a language pack. Repair Office via Control Panel > Programs > Microsoft Office > Change > Quick Repair. That usually pulls back the missing files.

Third-Party Apps with Custom LCIDs

Some niche apps (like older accounting software) expect a specific LCID that isn't installed on your system. For example, an app built for Perl might want 0x040A (Spanish). The app itself won't revert to your system language. Workaround: run the app in compatibility mode for an older Windows version (right-click exe > Properties > Compatibility tab). This sometimes forces fallback behavior.

Citrix or Remote Desktop Sessions

In remote environments, the error appears when the client and host have different languages. Fix: on the host, open gpedit.msc, go to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Device and Resource Redirection, and enable “Allow audio and video playback redirection”—wait, that's not it. Actually, the proper setting is under Client/Server data redirection. Set “Do not allow client printer redirection” to Disabled. But honestly, simpler fix: make sure both machines use the same display language.

Prevention: Keep Your Language Settings Clean

The best way to avoid this is to stop fiddling with language packs. If you need a second language, install it properly and don't uninstall it while apps are running. Also, whenever you update Windows (especially after a major feature update), check that InstallLanguage in the registry didn't reset to a default that you don't use.

For developers: when you write code that calls COM objects, always pass explicit LCID values. Don't rely on LOCALE_USER_DEFAULT—that's a ticking bomb. Use LOCALE_SYSTEM_DEFAULT if you're consistent, or hardcode your target language.

I've seen this error pop up after a Windows 11 23H2 update because the update reset the NLS keys. A quick registry check saved a colleague's entire morning.

So there you have it. Start with the Settings fix, then move to the registry, and you'll be back to work in ten minutes. If it still persists, try the Office repair—it's rescued more than one Excel warrior. Good luck, and may your LCIDs always be found.

Related Errors in Windows Errors
0X00000240 0x00000240: Windows Can't Create Paging File – Fixed 0XC00D1390 NS_E_NAMESPACE_DUPLICATE_CALLBACK (0XC00D1390) fix 0XC000026A STATUS_LICENSE_VIOLATION (0xC000026A) Fix: Stop the Tampering Error Now 0X00041307 Task Scheduler Error 0x41307: No Valid Triggers Fix

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.