MSDTC was unable to read its configuration information. (Exception from HRESULT: 0x8004D027)

 

I worked on interesting MSDTC issue today that i would like to share here.

Problem Description

When we tried to stop Orchestration or start Orchestration, we were getting the error “MSDTC was unable to read its configuration information 8004d027” andwe see the following entries in the application event log

Event Type: Error
Event Source: MSDTC Client
Event Category: XOleHlp
Event ID: 4212
Date:  7/20/2010
Time:  8:05:48 PM
User:  N/A
Computer: MYCOMPUTER
Description:
Unable to get the file name for the OLE Transactions Proxy DLL. Error Specifics: d:\nt\com\complus\dtc\dtc\xolehlp\xolehlp.cpp:148, Pid: 4526
No Callstack,
CmdLine: "C:\Biztalk\BTSmmc.msc" "C:\Biztalk\BTSmmc.msc"  -32

For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.
Data:
0000: 27 d0 04 80              

Event Type: Error
Event Source: MSDTC Client
Event Category: XOleHlp
Event ID: 4215
Date:  7/20/2010
Time:  8:05:48 PM
User:  N/A
Computer: MYCOMPUTER
Description:
Failed to connection to the registry on the remote MS DTC Transaction Manager's system. Error Specifics: d:\nt\com\complus\dtc\dtc\xolehlp\xolehlp.cpp:299, Pid: 4526
No Callstack,
CmdLine: "C:\Biztalk\BTSmmc.msc" "C:\Biztalk\BTSmmc.msc"  -32

For more information, see Help and Support Center at https://go.microsoft.com/fwlink/events.asp.
Data:
0000: 35 00 00 00             

Cause

In the machine.config, under system.transactions section, distributedTransactionManagerName is set to the value which is not a valid server name

<system.transactions>
   <machineSettings maxTimeout="02:00:00" />
   <defaultSettings distributedTransactionManagerName="someserver" timeout="02:00:00" />  
</system.transactions>

 

Resolution

We've removed the <system.transactions> section from machine.config to resolve the issue

Note:

1) This configuration can be present in global web.config or application’s web.config as well. If you are running into this issue and did not find the <system.transactions>configuration in machine.config, please also verify global web.config, application’s web.config, etc.

2) In this particular case, we’ve got the issue in BizTalk environment. However this article applies to all DTC related applications which are using system.transactions.

 

 More Information

 

DefaultSettingsSection.DistributedTransactionManagerName Property

 https://msdn.microsoft.com/en-us/library/system.transactions.configuration.defaultsettingssection.distributedtransactionmanagername.aspx

 

Troubleshooting Operational Issues

https://msdn.microsoft.com/en-us/library/dd788435(BTS.10).aspx

Tools used to troubleshoot the issue

DTCPing, WinRM, Windbg, Reflector, Process Monitor