I was getting errors when installing BizTalk 2006, around MS DTC.


 


TITLE: Microsoft BizTalk Server 2006 Configuration Wizard


——————————


Failed to deploy BizTalk system assembly “D:\Program Files\Microsoft BizTalk Server 2006\Microsoft.BizTalk.GlobalPropertySchemas.dll”.


A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 – An existing connection was forcibly closed by the remote host.)


 


Deployment cannot initialize the connection to the database “BizTalkMgmtDb” on server “biztalkqa02”. Verify that you have the required security permissions and that communication between Distributed Transaction Coordinator services on the machines involved is not prevented by current DTC security,   firewall or authentication settings.


 


I have seen this countless times, and the mstdc config and a reboot fixes it, I then looked further and saw this in the event log however.


 


The local MS DTC detected that the MS DTC on BIZTALKQA02 has the same unique identity as the local MS DTC. This means that the two MS DTC will not be able to communicate with each other. This problem typically occurs if one of the systems were cloned using unsupported cloning tools. MS DTC requires that the systems be cloned using supported cloning tools such as SYSPREP. Running ‘msdtc -uninstall’ and then ‘msdtc -install’ from the command prompt will fix the problem. Note: Running ‘msdtc -uninstall’ will result in the system losing all MS DTC configuration information.


 


I had a separate biztalk machine and separate sql server machine. These machines were created from a standard 2003 server image, they were renamed and made good for network connection, they were fine in all aspects. All except for MSDTC.


It seems that when you install MSDTC it assigns a unique id to your instance to know who is who, however if you clone the machine then they get the same instance id.


I tried the msdtc -uninstall and -install, it did not fix the problem It seems there is a sequence to this to ensure that no one gets the same id.


To fix this do the following: (The SQL server must be turned on and connected to the network.)


1.      On the BizTalk server:


a.       msdtc -uninstall.


b.      Reboot


c.       msdtc -install


d.      Reboot


e.       Check MSDTC is installed and working.


2.      On the SQL Server.:


a.       msdtc -uninstall


b.      Reboot


c.       msdtc -install


d.      Reboot


3.      On both of them:


a.       Configure msdtc for network transactions, go to the security tab and turn every checkbox on, and then reboot.


Your machines should now be able to communicate via msdtc, you can try msdtc ping, however install and configure BizTalk 2006, and it will work now.