COMADMIN_E_REGFILE_CORRUPT (0X8011043B) — The Fix
This error means a COM+ registration file got trashed. We'll rebuild it with regsvr32 and the COM+ admin tool. Takes 10 minutes.
Yeah, this error is a pain. You're trying to launch Component Services or an app that depends on COM+, and bam — 0X8011043B. The message says the registration file is corrupt. Don't freak out. The culprit here is almost always a single corrupted COM+ catalog file or a DLL that's registered incorrectly.
The Fix: Rebuild the COM+ Catalog
Skip the deep-dive troubleshooting. You're going to reset the COM+ catalog. This is safe — COM+ will rebuild its registration database from scratch using the DLLs in %windir%\system32\ and %windir%\SysWOW64\.
- Close everything. Open Command Prompt as Administrator.
- Stop the COM+ services. Run these commands in order:
If MSDTC won't stop, runnet stop comsysapp net stop COMSysApp net stop MSDTCnet stop MSDTC /yto force it. - Delete the corrupt catalog file. This is the one that's usually the problem:
But — don't guess the GUID. Instead, use the COM+ admin tool to nuke the catalog safely:del /q /f "%windir%\system32\com\COM+ Catalog\{some-guid}\ClbCtx\*.*" - Open Component Services (
dcomcnfg). Go to Component Services > Computers > My Computer. Right-click My Computer and choose Properties. - Go to the Options tab. Click Reset Defaults. Confirm when it asks.
- Restart the services:
net start MSDTC net start COMSysApp net start comsysapp - Now re-register the core COM+ DLLs. Run these as Admin in Command Prompt:
regsvr32 /s %windir%\system32\com\comadmin.dll regsvr32 /s %windir%\system32\com\comsvcs.dll regsvr32 /s %windir%\system32\com\coloader.dll regsvr32 /s %windir%\system32\com\comrepl.dll - Reboot. Yes, you have to. COM+ caches stuff in memory, and a reboot flushes it.
After the reboot, try launching Component Services again. The error should be gone. If not, move to the next section.
Why This Works
The COM+ catalog is a database of registered components — CLSIDs, interfaces, threading models, all that jazz. When a file in %windir%\system32\com\ gets corrupted (usually from a bad uninstall, a crash during an MSI install, or a disk error), COM+ can't read it. Resetting the catalog tells COM+ to rebuild that database from the DLLs' own registration info. The regsvr32 commands re-insert the core COM+ DLLs into the new catalog. No fresh install of Windows needed.
Less Common Variations
Event ID 4199 in the System Log
If you see Event ID 4199 from the COM+ source, the problem is usually a single misregistered 3rd-party component. Check the event details — it'll name the CLSID. Use this to find the culprit:
reg query "HKCR\CLSID\{the-GUID}" /s
Then unregister and re-register that specific DLL. Example:
regsvr32 /u "C:\Program Files\SomeApp\SomeComponent.dll"
regsvr32 "C:\Program Files\SomeApp\SomeComponent.dll"
Error After a Windows Update (KB500xxxx)
Some patches break COM+ permissions. Open Component Services, right-click My Computer > Properties > COM Security. Under Access Permissions and Launch and Activation Permissions, make sure SYSTEM and Administrators have Allow for all checkboxes. Don't mess with Users — they shouldn't have launch rights for COM+ apps.
Registry Corruption (Rare)
If the catalog reset doesn't work, check the registry directly. Export HKLM\SOFTWARE\Microsoft\COM3 first (backup!). Then delete the key:
reg delete "HKLM\SOFTWARE\Microsoft\COM3" /f
Reboot. COM+ will recreate it on restart. This is a nuclear option — I've only needed it twice in 14 years.
Prevention
- Never kill MSDTC or COMSysApp process. Use
net stopgracefully. Force-killing these can corrupt the catalog. - Use proper uninstallers. Dragging COM+ components out of the registry manually is asking for trouble.
- Check disk health. Run
chkdsk /fquarterly. Bad sectors love corrupting COM+ files. - Backup the COM+ catalog after you install any COM+ app. Use
%windir%\system32\com\comadmin.dll— there's a backup function in Component Services (right-click My Computer > Export).
If you're still stuck after all this, check if the user account you're running as has Impersonate rights in the local security policy. I've seen this error on domain controllers where the caller's token was missing SeImpersonatePrivilege. Run secedit /export to verify.Was this solution helpful?