COM+ Service Registration Fails on Windows Server 2019
COM+ registration fails after Windows updates. The Distributed Transaction Coordinator service is the usual suspect. Here's how to fix it fast.
Quick answer (for advanced users)
Run net stop msdtc && net start msdtc as admin, then restart the COM+ services. That clears the registration cache most of the time.
Why this happens
I've seen this error pop up a lot on Windows Server 2019 after a KB update, especially the ones that touch the .NET Framework or the Distributed Transaction Coordinator (MSDTC). The COM+ system keeps a registration cache that gets corrupted when MSDTC hangs or times out. You'll see the 0x80004005 error in the Application Event Log under source 'COM+'. It usually happens when you're trying to register a new COM+ application or update an existing one. The worst part? It doesn't tell you directly that MSDTC is the problem.
Step-by-step fix
- Open Command Prompt as Administrator. Click Start, type 'cmd', right-click 'Command Prompt', pick 'Run as administrator'.
- Stop and restart MSDTC. Type these commands one by one:
net stop msdtc net start msdtcYou should see a message saying the service started successfully. If it fails, check the System Event Log for MSDTC errors.
- Restart the COM+ services. Run these commands in the same admin prompt:
net stop COMSysApp net start COMSysApp net stop EventSystem net start EventSystem - Clear the COM+ registration cache. Go to
C:\Windows\System32\Comand delete the fileRegDB.rgx(if it exists). Then runregsvr32 /s comsvcs.dllin the admin prompt to rebuild it. - Reboot the server. After the reboot, try registering your COM+ application again. It should work now.
Alternative fixes if the main one fails
If the above doesn't fix it, try these in order:
- Check MSDTC network security settings. Open dcomcnfg, go to Component Services → Computers → My Computer → Distributed Transaction Coordinator → Local DTC. Right-click 'Properties', go to the 'Security' tab, check 'Network DTC Access' and 'Allow Inbound' and 'Allow Outbound'. Apply and restart MSDTC.
- Reset MSDTC logs. Run this in an admin prompt:
msdtc -resetlogThis clears the MSDTC log files. Don't worry, it doesn't affect transactions in progress.
- Re-register COM+ components. Open an admin command prompt and run:
regsvr32 /s ole32.dll regsvr32 /s oleaut32.dll regsvr32 /s comadmin.dllReboot after that.
- Check for orphaned COM+ applications. Open Component Services, look under 'COM+ Applications'. If you see any entries with a status 'Disabled' or 'Corrupted', delete them. Then restart the COM+ services.
Prevention tip
I've learned the hard way: always take a snapshot of the COM+ registration before applying big updates. You can use the regsvr32 /s trick to back up the registration keys. Also, keep MSDTC set to 'Automatic' startup type — don't let it start manually. If you're running a cluster, make sure MSDTC is part of the cluster resources. One more thing: avoid running Windows Update while COM+ applications are active. Schedule updates during maintenance windows. That saves you a lot of headache.
Was this solution helpful?