"Warning: the CID values for both test machines are the same"

Posted by Wade on August 13, 2007

I came across a frustrating interesting problem today where the BizTalk Server 2006 Configuration wizard would fail every time I applied a new configuration.


Unlike a typical BizTalk developer environment (which usually consists of BizTalk and SQL Server on the same machine), this environment consisted of two separate machines: one BizTalk Server 2006 and one SQL Server 2005 (i.e. the BizTalk databases are stored on the SQL Server).  Additionally, this is a virtual environment and both machines were cloned from the same base Windows Server 2003 R2 template.


I was installing the following components …



  • Enterprise Single Sign-On (SSO)
  • Group
  • BizTalk Runtime
  • MSMQT

It would successfully install ENTSSO, but would fail when installing the group.  The log file reported the following error:



Failed to configure with error message [Exception of type 'System.EnterpriseServices.TransactionProxyException' was thrown.]


The following Google search suggested to me that  the underlying problem was with MSDTC (aren’t all BizTalk problems?).  I checked, and double-checked, the MSDTC properties on both servers and couldn’t find anything wrong with the configuration.  So, I had to pull out the big guns.


I downloaded DTCPing (a very handy tool for debugging DTC issues) and ran it on both machines (make sure to read the instructions on how to use DTCPing as it is not straightforward).  In the generated log file I noticed the following warning:



WARNING: the CID values for both test machines are the same while this problem won’t stop DTCping test, MSDTC will fail for this …


A Google search on this warning helped me to understand that the underlying problem is that the CID values stored for MSDTC were not changed during the cloning process.  But of course!


If you’re experiencing this problem, check the following registry key on both of your machines.  Are the keys identical?



HKEY_CLASSES_ROOT\CID


Mine were.  Here’s the steps I took successfully reinstall MSDTC so that the CID values were unique.  Run this procedure on both machines:



  1. Use Add Windows Components, and remove Network DTC.
  2. Go to the command line and run: MSDTC -uninstall
  3. Go to the registry and delete the MSDTC keys in HKLM/Software/Microsoft/Software/MSDTC, HKLM/System/CurrentControlSet/Services/MSDTC, and HKEY_CLASSES_ROOT\CID (if they’re still there).
  4. Reboot
  5. Go to the command line and run: MSDTC -install
  6. Use Add Windows Components, and add Network DTC.
  7. Go to the command line and run: net start msdtc

After running this on both servers I was able to confirm that the CID values were unique.  And, sure enough, when I next applied my configuration to BizTalk Server 2006 everything worked perfectly.


I hope this helps!

Incoming links

Comments (16)

  • Thanks!!! Big time! This helped me get past my configuration problem. I probably would have been stymied on this one for a while.

  • Thanks so much for this article. I had the same exact problem, I followed your procedure and it worked like a charm!

    *******
    Luis Colmenarez

  • You both are very welcome! I am glad that the solution worked!!

  • i have the similar problem. However, do we need to re-install MSDTC on the SQL Server or the BizTalk Server?

  • If MSDTC is a MSCS clustered resource should the CID on the two servers be the same or should they be different?

  • Thanks for the post.
    here is another scenario for the same exception : System.EnterpriseServices.TransactionProxyException during BizTalk 2006 configuration.

    The CID values were different for both machine but the problem was that the Network DTC service was not installed on BizTalk machine.

  • Thanks so much for this article, this error cost me a half a day modifying MSDTC settings.

  • Thank you Wade! Exactly my problem. Well, no cloning next time.

  • I had similar problem on Windows 2008 Servers (both are virtual machines). I did pretty much the same as you did, uninstalled msdtc, rebooted and re-installed ( have to do that as Administrator ). Ran first the dtcping utility and communication was ok – tested our application and it worked like a charm.

  • I was able to solve this same problem thanks to your description.

    Nonetheless, I only reinstalled MSDTC on the BizTalk server and left the SQL Server untouched. It works so as long as the CID values differ between the servers.

  • Sadly i only found this article posting after i had battled with this eaxct problem for HOURS!
    Thanks for the solution. Two lessons learnt here;

    1) Google first
    2) The few minutes that cloning machines saves you is just not worth it in the long run. Take the time to install the machine properly first time around!

  • It can not re-install MSDTC on Windows Server 2008 like that.
    Please help.

  • Finally, I can do it. It must use Windows Administrator account. I’m not sure why my domain account can’t do that even it was added to Administrator group before.
    Again, thank you very much, this topic is very useful.

  • Yet another person saved… I had this issue before and did not find your article on Google, and finally had our SE team create a new image from scratch. This time they used that same image I had the problem with again, but I found this and now the world is all sunshine and rainbows.

    Before I found this article, the worst part was that I had to install all the dependencies for all of the apps, all of the windows updates and service packs and so forth, just to find out that BizTalk didn’t want to be on that particular machine.

  • This worked like a charm. Thanks for the info. Are the registry entries you describe exactly correct? I do not have HKLM/Software/Microsoft/Software/MSDTC but HKLM/Software/Microsoft/MSDTC

Do you have anything to say?