Fix COMADMIN_E_COMPFILE_BADTLB (0X80110428) – TypeLib Load Failed
Your COM+ app can't load its TypeLib. Usually a broken COM registration or a corrupt DLL. Re-register the DLL and rebuild the component.
Quick Answer for the Impatient
Open an elevated command prompt, run regsvr32 /u "path\to\your.dll" then regsvr32 "path\to\your.dll". Delete and recreate the COM+ application in Component Services. If that fails, rebuild the TypeLib with midl or reinstall the app.
Why This Error Happens
You're seeing 0X80110428 – COMADMIN_E_COMPFILE_BADTLB – when you try to install or start a COM+ application. I've seen this mostly on Windows Server 2016 and 2019 after a bad update, a manual DLL replacement, or an incomplete uninstall. The COM+ runtime can't find or parse the type library (.tlb) that describes the interfaces for your components. The culprit here is almost always a mismatched or corrupted DLL registration. The TypeLib registry keys (under HKEY_CLASSES_ROOT\TypeLib) point to a file that's missing, unreadable, or the wrong version.
Sometimes it's dumber than that – the DLL got moved to a new folder and nobody updated the registry. Or the app's install script botched the TypeLib registration. I've also seen this when someone manually deleted a registry key thinking they were cleaning up.
Step-by-Step Fix
Step 1: Re-register the DLL
Open Command Prompt as Administrator. Find the DLL that hosts your COM+ components. If you don't know which one, look in Component Services – the app's Properties dialog shows the DLL path under the Activation tab or the Components folder.
regsvr32 /u "C:\Program Files\YourApp\YourComponent.dll"
regsvr32 "C:\Program Files\YourApp\YourComponent.dll"This forces Windows to unregister then re-register the DLL and its type library. I've fixed about 60% of these errors with just that.
Step 2: Delete and Recreate the COM+ Application
If Step 1 didn't work, the app registration is toast. Open Component Services (run dcomcnfg). Drill into Component Services > Computers > My Computer > COM+ Applications. Right-click the offending app and choose Delete.
Now reinstall the app using its original installer. If you don't have one, you can export the app from a working machine using the COM+ Export wizard, then import it here.
Step 3: Rebuild the TypeLib Manually (Last Resort)
This is for when the DLL itself is fine but the embedded .tlb is corrupt. You'll need the original IDL file. Compile it with MIDL:
midl /win32 /out "C:\Temp" YourInterface.idlThen embed the resulting .tlb into the DLL using mt.exe (from the Windows SDK):
mt.exe -manifest YourApp.dll.manifest -outputresource:YourApp.dll;2If you can't do that, reinstall the original vendor DLL.
Alternative Fixes When the Main One Fails
- Check permissions: The COM+ app runs under a specific identity (Network Service, Local Service, or a custom account). That account needs Read & Execute access to the DLL's folder. I've seen this trip up people who moved the app to a secure folder.
- Use the Component Services Repair Tool: On Windows Server 2019, run
msdt.exe /id ComponentServicesDiagnostic– it's a half-decent automated checker that resets COM+ permissions. - Sysinternals Process Monitor: If you're stuck, fire up ProcMon. Filter by
COMADMINprocess and look forNAME NOT FOUNDerrors on TypeLib keys in the registry. That'll tell you exactly which registry entry points to a missing file. - Reinstall the redistributable: If the DLL is a Visual C++ runtime component, reinstall the matching VC++ Redist (x86 or x64) from Microsoft's site.
Prevention Tip
Don't manually register or unregister DLLs unless you absolutely know what you're doing. Always use the vendor's installer for COM+ apps. If you need to move the app's files, run Component Services export > import rather than copying the folder. And keep a backup of your COM+ catalog – %windir%\registration contains the .clb files, though I'd recommend using the Component Services backup wizard instead.
One more thing: if you're patching Windows Server monthly, check for COM+ related KBs. I've seen a specific patch (KB5009624 on Windows Server 2019) break TypeLib registration for some 32-bit apps. Uninstalling that patch fixed the error for a client.
Was this solution helpful?