On our Windows 2008 server I tried two copies of Tracefmt.exe - one from the the Windows XP Support Tools (because the documentation doesn't specify that this is os specific), and one from the Windows 2008 Platform SDK.
When I put the Windows 2008 platform sdk version of Tracefmt.exe in the C:\Windows\System32\Msdtc\Trace directory, and then run "msdtcvtr -tracelog dtctrace.log" (after first having flushed data), or "msdtcvtr -tracelog tracetx.log" (having dumped a transaction via the transaction list), I always get the following error:
Failed to convert the binary trace data to text format.
Following reasons can cause this to happen:
1) The utility TraceFmt.exe is missing
2) The file dtctrace.log is either missing or corrupted
3) The file C:\Windows\system32\msdtc\trace\msdtctr.mof is either missing or corrupted
The exact error message can be found in the file 'C:\Windows\system32\msdtc\trace\errortrace.txt'
If I attempt to run tracefmt directly using "tracefmt tracetx.log -trace -displayonly -tmf msdtctr.mof" I get:
Setting log file to: C:\Windows\System32\Msdtc\Trace\tracetx.log
Cannot open logfile for reading
Processing completed Buffers: 0, Events: 0, EventsLost: 0 :: Format Errors: 0, Unknowns: 0
If I use the Windows XP version of Tracefmt.exe it throws an error saying it cannot find a required DLL.
So my first question is where I am supposed to get a working version of Tracefmt.exe from?
Second question is why is so painful to get a trace of DTC - why isn't the tool installed by default when DTC in installed in such a way that getting trace output is a 5 minute job rather than a 1 day + one.