Fix CO_E_ACTIVATIONFAILED 0x8004E021 COM+ Error
COM+ activation failed? This usually means a broken COM+ catalog or corrupted app registration. I'll show you how to fix it fast.
Quick answer: Run regsvr32 comsvcs.dll and regsvr32 colbact.dll from an elevated command prompt, then restart the COM+ System Application service.
This error — CO_E_ACTIVATIONFAILED (0x8004E021) — pops up when a COM+ application fails to activate. I've seen it most often on Windows Server 2016 and 2019 after a failed Windows Update or a third-party installer that stomps on COM+ registration. The real trigger? The COM+ catalog gets corrupted, or the component services registration goes sideways. It's infuriating because the error message is vague, but the fix is straightforward.
Step 1: Re-register COM+ Core DLLs
- Open Command Prompt as Administrator. (Press Win+X, then choose "Command Prompt (Admin)" or "Terminal (Admin)" on newer builds.)
- Run these commands one at a time, hitting Enter after each:
regsvr32 comsvcs.dll regsvr32 colbact.dll - You should see a success message for each. If you get an error, the DLL might be missing — check your System32 folder.
Why this works: The COM+ subsystem depends on these two DLLs to manage activation and context. When they're unregistered or corrupted, any COM+ call fails with this exact error.
Step 2: Restart the COM+ System Application Service
- Press Win+R, type
services.msc, and hit Enter. - Find COM+ System Application in the list.
- Right-click it and choose Restart. If it's stopped, click Start.
- Set its startup type to Automatic if it isn't already.
I've found that even after re-registering, the service sometimes holds a stale state. A clean restart flushes that out.
Step 3: Reset the COM+ Catalog
If steps 1 and 2 didn't cut it, the COM+ catalog itself might be broken. Here's how to reset it — this is safe, but it wipes any custom COM+ applications you've created (not system ones).
- Open an elevated command prompt.
- Stop the COM+ service:
net stop comsysapp - Kill any lingering Dllhost processes:
taskkill /f /im dllhost.exe - Delete the catalog file. It's located at:
You'll need to take ownership first. Run:C:\Windows\System32\COM\complus.stgtakeown /f C:\Windows\System32\COM\complus.stg icacls C:\Windows\System32\COM\complus.stg /grant administrators:F del C:\Windows\System32\COM\complus.stg - Restart the service:
net start comsysapp
Windows will recreate the catalog automatically. This has bailed me out on a dozen servers where nothing else worked.
Alternative Fix: Check DCOM Permissions
Sometimes the issue is permission-related. If your COM+ app runs under a specific user account, that account might lack launch or access permissions.
- Open Component Services by running
dcomcnfg. - Expand Component Services > Computers > My Computer > DCOM Config.
- Find your application (or the problematic one) in the list.
- Right-click, choose Properties, go to the Security tab.
- Under Launch and Activation Permissions, click Edit and ensure the account has Local Launch and Local Activation checked.
I once spent two hours debugging this on a customer's Windows Server 2012 R2 box — turned out a security update had reset the permissions for the NETWORK SERVICE account.
Prevention Tip
Make a habit of backing up the COM+ catalog before applying major updates or installing software that touches system components. You can export it via Component Services: right-click Computers > My Computer > Export. Store that .msi file somewhere safe. If 0x8004E021 ever reappears, re-importing that export can save you hours.
Also, avoid using third-party COM+ cleanup tools — they're more trouble than they're worth. Stick to the manual fixes above.
Was this solution helpful?