You may experience serious problems with the Microsoft Distributed Transaction Coordinator (MSDTC) service. All attempts to troubleshoot MSDTC have not fixed the issue. You can follow these disaster recovery instructions on a standalone machine or a cluster node to reinstall the MSDTC service. For clusters these instructions will reinstall the local MSDTC service. After reinstalling MSDTC, you can reconfigure the MSDTC cluster resource using Cluster Administrator for Windows 2003 or Failover Cluster Management for Windows 2008.

During installation of MSDTC the default behavior for both Windows Server 2003 and 2008 is that if the registry key/hive exists, then it is left alone and not reverted to the clean-install state. If you are resetting MSDTC for disaster recovery purposes, we recommend deleting these hives to make sure the system will be reset to the clean install state. Otherwise you can leave these hives untouched to preserve user settings.

To reinstall MSDTC on Windows 2003, perform the following steps:

  1. Stop the Distributed Transaction Coordinator service in the Services Control Panel
  2. At a command prompt run "msdtc -uninstall" without quotes. This removes the MSDTC service from the Services Control Panel and the associated service hive along with the CIDs from the registry:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC
    HKEY_CLASSES_ROOT\CID

  3. Skip this step if you want to preserve existing configuration, such as network transactions and other MSDTC security settings. Otherwise export the MSDTC Setup subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Setup and manually delete the following registry keys if they exist:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC                        
    HKEY_CLASSES_ROOT\CID                                             
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

  4. At a command prompt run "msdtc -install" without quotes. This reinstalls the MSDTC service and the 3 registry hives above. Note the MSDTC Setup subkey is not populated on Windows 2003.
  5. Import the saved MSDTC Setup registry hive file (.reg) if you completed step 3 earlier:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Setup

  6. At a command prompt run “msdtc –resetlog” without quotes

To reconfigure the MSDTC cluster resource after these steps on Windows Server 2003, please read these articles: 

How to configure Microsoft Distributed Transaction Coordinator on a Windows Server 2003 cluster
Understanding MS DTC Resources in Windows Server 2003 Failover Clusters

To reinstall MSDTC on Windows 2008, perform the following steps:

  1. Stop the Distributed Transaction Coordinator service in the Services Control Panel
  2. At a command prompt run "msdtc -uninstall" without quotes. This removes the MSDTC service from the Services Control Panel and the associated service hive along with the CIDs and CID.Locals from the registry:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC
    HKEY_CLASSES_ROOT\CID
    HKEY_CLASSES_ROOT\CID.Local

  3. Skip this step if you want to preserve existing configuration, such as network transactions and other MSDTC security settings. Otherwise manually delete the following registry keys if they exist:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC
    HKEY_CLASSES_ROOT\CID
    HKEY_CLASSES_ROOT\CID.Local
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC

  4. At a command prompt run "msdtc -install" without quotes. This reinstalls the MSDTC service and the 4 registry hives above.
  5. At a command prompt run “msdtc –resetlog” without quotes

To reconfigure the MSDTC cluster resource after these steps on Windows Server 2008, please read these articles: 

How to Configure Multiple Instances of Distributed Transaction Coordinator (DTC) on a Windows Server Failover Cluster 2008
Understanding MS DTC Resources in Windows Server 2008 Failover Clusters