Fix TYPE_E_UNKNOWNLCID (0x8002802E) in Windows
This error means Windows can't find a language code it needs. Happens when a program or script references a missing or broken locale. Quick fix: re-register the language DLL.
Quick Answer for Advanced Users
Re-register the oleaut32.dll file and make sure your system locale matches the program's expected language.
What This Error Means
You got the TYPE_E_UNKNOWNLCID (0x8002802E) error. It's a Windows COM error that says "I don't know this language code." Every language in Windows has a number called an LCID. For example, English (US) is 1033, French is 1036. When a program or script tries to use an LCID that's not installed or is corrupted, you see this error.
I've seen this mostly in older programs, custom scripts in VBScript or PowerShell, or when someone messed with language packs. It also shows up if you uninstalled a language and something didn't clean up right. The real fix is to make sure the base language support is there.
Step-by-Step Fix
Step 1: Re-register the Core DLL
This is the first thing you try. It fixes corrupted registry entries for the language API.
- Press Windows Key + X and click Command Prompt (Admin) or Windows Terminal (Admin).
- Type this command and press Enter:
regsvr32 oleaut32.dll - You should see a popup that says "DllRegisterServer in oleaut32.dll succeeded."
- Restart your computer. After restart, try the program again.
Step 2: Check Your System Locale
If the re-register didn't work, your locale might be wrong or missing.
- Open Settings (Windows Key + I).
- Go to Time & Language > Language & region.
- Under Preferred languages, make sure the language your program needs is listed. For most programs, that's English (United States).
- If it's missing, click Add a language, find it, and install it.
- Click on the language, then click Options. Check that the Windows display language box is checked. If not, download and install the language pack.
- Restart your computer.
Step 3: Run System File Checker
Corrupted system files can also cause this. Let's check.
- Open Command Prompt as admin.
- Type
sfc /scannowand press Enter. This scans and fixes protected system files. - Wait until it's done. It might take 15-20 minutes. You'll see a message saying it found and fixed files, or found nothing.
- Restart.
If the Main Fix Fails
Sometimes the problem is in the registry itself. Here's what else you can try.
Alternative 1: Reset Language Settings via PowerShell
This forces Windows to rebuild language caches.
- Open PowerShell as admin.
- Paste this command and press Enter:
Get-WinUserLanguageList | Set-WinUserLanguageList -Force - Restart.
Alternative 2: Create a New User Profile
If the error only happens with your user account, the profile might be broken.
- Go to Settings > Accounts > Family & other users.
- Click Add someone else to this PC.
- Follow the prompts to create a new local user.
- Log out and log into the new account. Test the program.
- If it works, move your files over. The old profile has a problem.
Prevention Tips
This error is rare after you fix it. To stop it coming back: don't uninstall language packs manually. Use Windows Settings to remove them. If you write scripts, always use SetThreadLocale with a valid LCID number. Stick to common LCIDs like 1033 (en-US) or 1036 (fr-FR) to avoid this.
Was this solution helpful?