First: Reinstall MSDTC (fixes 80% of cases)
This error shows up when something nukes the MSDTC registry keys — usually a botched Windows update, a security tool that got too aggressive, or an application installer that overwrote things. Don't waste time chasing DLL versions. The fix is a clean reinstall.
Open an elevated command prompt (run as Administrator) and run these two commands in order:
msdtc -uninstall
msdtc -install
After that, restart the Distributed Transaction Coordinator service:
net stop msdtc
net start msdtc
Now test your transaction. If the error's gone, you're done. If not, move to the second fix.
Second: Repair the Registry (when reinstall didn't cut it)
The reinstall sometimes leaves orphaned keys. The real problem is usually under HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC. A corrupted XACT_Proxy.dll or missing DtcProxy.dll path entry.
Open Regedit and go to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
Look for a value called TurnOffRpcSecurity — it should be 1. If it's missing or 0, set it to 1. Then scroll down to MsdtcProxyDllPath — it must point to the right location. On 64-bit systems that's C:\Windows\System32\msdtcprx.dll. On 32-bit it's C:\Windows\SysWOW64\msdtcprx.dll. If it's missing or wrong, add it as a REG_SZ.
Now run this to re-register the proxy DLL:
regsvr32 msdtcprx.dll
regsvr32 xolehlp.dll
Restart the MSDTC service again. This fixes another 15% of stubborn cases.
Third: Rebuild COM+ Catalog (last resort for the remaining 5%)
If neither of the above worked, your COM+ registration is likely hosed. This happens most often after uninstalling SQL Server or Exchange — they love to mess with COM+.
Run this command to nuke and rebuild the COM+ catalog:
regsvr32 comsvcs.dll
Then open Component Services (dcomcnfg.exe). Expand Component Services > Computers > My Computer > Distributed Transaction Coordinator. Right-click Local DTC and select Properties.
Under the Security tab, make sure these are checked:
- Network DTC Access
- Allow Remote Clients
- Allow Inbound / Allow Outbound (both)
- No Authentication Required
Click Apply, then restart the service one more time. Now try your transaction.
Quick Reference Summary Table
| Cause | Fix | Success Rate |
|---|---|---|
| Corrupted MSDTC installation | Run msdtc -uninstall then msdtc -install | ~80% |
| Missing/incorrect registry paths | Fix MsdtcProxyDllPath in Registry, re-register DLL | ~15% |
| COM+ catalog corruption | Rebuild COM+ via regsvr32 comsvcs.dll, reconfigure DTC security | ~5% |
One last thing — if you're running this on a cluster or behind a firewall, double-check that port 135 (RPC) and a dynamic port range for MSDTC (usually 5000-5100 on newer windows) are open. That's not strictly the 0x8004D028 error, but I've seen people spin their wheels on the proxy DLL when it was actually a firewall issue all along.