Friday, August 17, 2007

How to Set Network Access for DTC in Windows Vista

Finally, a developer related post by the Cranky Developer. I am using Transaction Scope in ADO.NET 2.0 to maintain cross database transactions. It's a great technology, but as anyone who has used it knows it takes some fiddling with the configuration of the participating machines in order to work correctly. In my case I was getting the "Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool." error.

No sweat, the solution is pretty simple--in versions of Windows previous to Vista you would just go to Administrative Tools and open Component Services and change the settings in the MSDTC tab of the properties of My Computer. It's changed significantly in Vista, however. For starters, the Component Services console isn't linked from the Administrative Tools any more. To start it you have to open %windir%\System32\compexp.msc.


The difference is that the properties you're looking for are no long on My Computer, but "Local DTC". To get to it go to Component Services\Computers\My Computer\Distributed Transaction Coordinator\Local DTC and use the Security Tab.

Check Network DTC Access, Allow Remote Clients, Allow Inbound and Allow Outbound and you're set.

No comments: