0X8004D028

Fix MSDTC Error 0x8004D028 - DTC Proxy DLL Load Failure

MSDTC can't load the DTC proxy DLL. The culprit is almost always a corrupted registry or bad MSDTC installation. Here's how to fix it fast.

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

CauseFixSuccess Rate
Corrupted MSDTC installationRun msdtc -uninstall then msdtc -install~80%
Missing/incorrect registry pathsFix MsdtcProxyDllPath in Registry, re-register DLL~15%
COM+ catalog corruptionRebuild 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.

Related Errors in Network & Connectivity
LACP split detected LAG split detected: fix it before your network falls apart 0XC00A0018 Fix 0xC00A0018: Bad Video Mode in Remote Desktop 0X8032001F Fix FWP_E_INVALID_NET_MASK (0x8032001F) in Windows Firewall 0X00002521 Fix DNS_ERROR_UNSECURE_PACKET (0X00002521) Fast

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.