RPC_X_SS_CHAR_TRANS_OPEN_FAIL (0x000006ED) Fix
This error hits when Windows can't load a character translation file during RPC calls. Usually a corrupt or missing .tbl file in the system32 folder.
When This Error Shows Up
You'll see RPC_X_SS_CHAR_TRANS_OPEN_FAIL (0x000006ED) in Event Viewer under System or Application logs. Or the app itself throws a popup with that code. Common triggers: a legacy ERP client trying to connect to a server-side DCOM object, a custom .NET service making RPC calls to a remote machine, or an old SQL Server linked server query. The exact message is "Unable to open the character translation table file." I've seen this most on Windows Server 2019 and 2022, but it can hit Windows 10/11 too.
Root Cause
Windows RPC uses character translation tables — files with a .tbl extension — stored in C:\Windows\System32. These map between different character sets (like UTF-8 to ANSI). When an RPC call kicks off, the server tries to load the table for the locale being used. If that file is missing, corrupt, or the path got mangled (usually by a bad update or an installer that deleted it), you get 0x000006ED. The culprit here is almost always ctable.dat or one of the c_*.tbl files.
Don't bother reinstalling the app that's failing — that rarely fixes it. The system files are the problem.
The Fix — Step by Step
- Check which file is missing. Open Event Viewer, go to Windows Logs > System. Look for the error with source "RPC" or "DCOM." The detail line will usually name the file, like
c_1252.tblorctable.dat. Write that down. - Run SFC first. Open Command Prompt as Admin and run:
Wait for it to finish. This fixes most corrupt system files. If it finds issues, reboot and test.sfc /scannow - If SFC can't fix it, grab the file from a working machine. On a same-version Windows system (same language pack too), copy the missing .tbl file from
C:\Windows\System32. Put it on a USB drive or network share. - Copy the file to the broken server. Take ownership of the System32 folder first if needed (but usually you can just copy as Admin). Paste the file into
C:\Windows\System32. Overwrite if prompted. - Register the file (rarely needed, but safe). Open Command Prompt as Admin and run:
Replace with the actual filename. This tells Windows to reload the file.regsvr32 ctable.dat - Reboot the server. Not optional. RPC caches these tables in memory. A reboot clears that cache.
- Test the failing app. Re-run the RPC call. If it works, you're done.
If It Still Fails
Check three things. First, are both machines using the same language pack? Mismatched codepages between client and server will cause this error even if the files exist. Install the matching language pack on both sides from Settings > Language & Region.
Second, is the file actually the right version? A Windows 10 .tbl file won't work on Server 2022. Always source from the same OS version.
Third, check for third-party antivirus. I've seen McAfee and Trend Micro quarantine c_*.tbl files as false positives. Check the AV quarantine log, restore the file, and add an exclusion for C:\Windows\System32\*.tbl.
Worst case, run a repair install of Windows using the same version and edition. That'll rebuild all system files clean. It's a PITA, but it's bulletproof.
Was this solution helpful?