Friday, August 28, 2009 2:00 PM
Configuring WS-Atomic Transaction Support in Windows 7 64-bit
(Note: this works on Vista 64-bit just as well)
I have studied a big old fat book on WCF for a long time now and yesterday I ran into a problem that was about the MSDTC and WS-AT (Atomic Transactions). More specifically I wanted to enable WS-AT on my laptop.
WS-AT is a standard for supporting transactional behaviour in distributed systems that cannot rely on MSDTC because of interoperability issues.
The book pointed me to this page. To be able to run WS-AT you have to be able to configure it. Microsoft has included a command-line tool called WsatConfig but since I have a tendency to like UI better I tried to configure that.
Luckily there is an option to extend the current MMC-snapin for MSDTC with another tab about WS-AT. This is really the first time I have come across this. Adding UI content to an existing Windows feature, using the command line. The article states that you have to register the codebase using regasm.exe using the following command line from VS Command Prompt: regasm.exe /codebase %PROGRAMFILES%\Microsoft SDKs\Windows\v6.0\Bin\WsatUI.dll.
Guess what, that did not work. There are still only three tabs and to add to my troubles there was no error when running regasm.
Can you guess what when wrong? Well it is the old 32/64-bit problem which I have come to know and love since I installed Windows 7. When you run VS Command Prompt, you are launching the 32-bit version and so you are executing the 32-bit version of regasm. To resolve this you have to start the 64-bit version of regasm.exe and also point to the 64-bit version of the WsatUI.dll file. So the correct thing to do is this:
- Open a regular command window.
- Navigate to %PROGRAMFILES%\Microsoft SDKs\Windows\v6.0\Bin\x64.
- Execute this line "%WINDOWS%\Microsoft.NET\Framework64\v2.0.50727\regasm.exe" /codebase WsatUI.dll
- Open the MMC for MSDTC by clicking the start button and do a search for dcomcnfg.exe.
- Navigate to My Computer\Distributed Transaction Coordinator\Local DTC, right-click and choose properties.
Hey look! I got a new tab called WS-AT. Click it to get the following view.
Now you can start configuring you WS-AT support. Just follow the instruction on this page.
My thanks to the Microsoft Forums user PeterMAnderson that answered his own post and provided the solution to the problem.
Filed under: Vista, Windows7, WCF, WS-AT