This article was created in response to a support issue logged with K2. The content may include typographical errors and may be revised at any time without notice This article is not considered official documentation for K2 software and is provided “as is” with no warranties.
LEGACY CONTENT
This article refers to legacy products, components or features. Therefore, the content in this article is offered "as is" and will no longer be updated. This content does not infer that the product, component or feature is supported, or that the product, component or feature will continue to function as described herein.

Issue

When deploying a workflow from K2 Studio, it fails with the following error:

COM+ was unable to talk to the Microsoft Distributed Transaction Coordinator (Exception from HRESULT: 0x8004E00F)

Symptoms

The full error message is surfaced in the log file:

The "SourceCode.DeploymentTasks.NotificationService.NotificationTask" task failed unexpectedly.
System.Exception: System.Exception: System.Runtime.InteropServices.COMException (0x8004E00F): COM+ was unable to talk to the Microsoft Distributed Transaction Coordinator (Exception from HRESULT: 0x8004E00F)
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type serverType, Boolean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri)
at System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(Type serverType)
at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(Type serverType, Object[] props, Boolean bNewObj)
at SourceCode.EventBus.Server.ClientServerImplimentation.UpdateCustomEventForNotification(CustomEvent customEvent, String userName)
at SourceCode.EventBus.Server.ClientServerImplimentation.AddWorklistItemNotification(WorklistItemIdentifier worklistItemIdentifier, String eventData, PolicyMapping policyMapping, Boolean externalOwned)
at SourceCode.EventBus.Server.ClientServerImplimentation.AddWorklistItemNotification(WorklistItemIdentifier worklistItemIdentifier, String eventData, PolicyMapping policyMapping, Boolean externalOwned)
at SourceCode.EventBus.Server.ClientServerImplimentation.UpdateWorklistItemNotification(List`1 worklistItemIdentifiers)
at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnection.RemoteCall(String TypeName, String MethodName, Object[] Parameters, Boolean[] NullList, MarshalMessageType CallType)
at SourceCode.Hosting.Client.BaseAPI.BaseAPI.RemoteCall(String TypeName, String MethodName, Object[] Parameters, Boolean[] NullList, MarshalMessageType CallType)
at SourceCode.Hosting.Client.BaseAPI.BaseAPI.RemoteSessionCall(String TypeName, String MethodName, Object[] Parameters)
at SourceCode.EventBus.ClientAPI.Notification.UpdateWorklistItemNotification(List`1 worklistItemIdentifiers)
at SourceCode.DeploymentTasks.NotificationService.Common.Publish()
at SourceCode.DeploymentTasks.NotificationService.NotificationTask.Execute()
at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult)

Troubleshooting Steps

To resolve the issue, please check the following:

1. The 'Distributed Transaction Coordinator' service is currently running. 

2. The DTC settings are configured correctly as per our documentation: https://help.k2.com/onlinehelp/k2blackpearl/icg/4.6.5/webframe.html#msdtc.html.