At one of our customers I have set up BizTalk360 as their BizTalk monitoring environment. All in all, they are very happy with it, but we ran into one problem. When they tried to suspend or resume an instance, they would get the following error:
Unable to enlist in the transaction.
System.Runtime.InteropServices.COMException (0x8004D00A): Unable to enlist in the transaction.
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Management.ManagementObject.InvokeMethod(String methodName, ManagementBaseObjectinParameters, InvokeMethodOptionsoptions)
at System.Management.ManagementObject.InvokeMethod(String methodName, Object args)
at A.cf0555bb9c0f6a0aebd67da53b41e6535.cc49ef4e8476b31546c8cfd644bd22a66(String c3ce089d4844970dd178d4bf819010021)
at Kovai.BizTalk360.BusinessService.Main.BizTalkQueryBusinessService.ExecuteServiceInstanceOperation(ServiceInstances serviceInstances, ServiceInstanceOperationoperation)
at Kovai.BizTalk360.WCFService.BizTalkQueryService.ExecuteServiceInstanceOperation(BizTalkQueryServiceRequest request, ServiceInstances serviceInstances, ServiceInstanceOperation operation)
After some research, I found out this was a problem with the DTC service, which was not enabled on the BizTalk360 machine. To solve it, follow these steps (on Windows Server 2008 R2).
First open the Component Services snap-in by giving the command dcomcnfg in the start menu. In the tree, open Component Services, Computers, My Computer, Distributed Transaction Coordinator, and finally right-click on Local DTC and select properties. Go to the Security tab, enable Network DTC Access, Allow Inbound and Allow Outbound, and click OK.Now restart your BizTalk360 service, and things should be working.