BizTalk: Error Code: 0x8004E004, There is no MTS object context

I had worked on a case where we are getting error message “There is no MTS object context “. This error was coming when we are trying to create adapter handler/ performing some operation in BizTalk admin console. The complete error stack is similar to something below :

Event Type: Warning
Event Source: ENTSSO
Event Category: Enterprise Single Sign-On
Event ID: 10536
Date: 11/3/2011
Time: 5:18:24 PM
User: N/A
Computer: ComputerName
Description:
SSO AUDIT
Function: GetConfigInfo ({5F548EA8-F551-432B-90C3-0E1BCF2FE934})
Tracking ID: c9594de3-7705-41ed-b64a-5844d2b50d85
Client Computer: <machine_name>(wmiprvse.exe:416)
Client User: <Username>
Application Name: {5F548EA8-F551-432B-90C3-0E1BCF2FE934}
Error Code: 0x8004E004, There is no MTS object context

From the error it was evident that issue was with SSO but I was not able to figure out why this is coming. Looked into some of the document and found that issue
might be coming because ENTSSO is not properly installed on this box.

I looked into component services and found that we're missing SSOCSTX which is the ENTSSO Server COM+ object that is created during BizTalk Installation
The below mentioned component is missing in Component Services


 

If I expand this ENTSSO Server, content will be something like mentioned below :

Resolution

1) To resolve this you have to reinstall ENTSSO component.
Note: You can try to repair BizTalk and see if works. In my case tried twice didn't work.

Alternate way: Not Recommended (Try in case don't want to reinstall BizTalk)

Manually installed SSOCSTX.dll from the C:\Program Files\Common Files\Enterprise Single Sign-On folder in Com+
1) Right Click on Com+ Application -> New -> Application-> Click Next
2) Install or Create a New Application: Select Create an empty application -> Enter name of Application as "ENTSSO Server"
3) Set Application Identity: Select account based on setup. I had worked with Account which we are supposed to install BizTalk (This User)
4) Click next to all other box and click finish
5) Go to "ENTSSO Server" application. Expand it. Right click on component -> New -> Component-> Next
6) Select install new component. Add the dll present in SSOCSTX.dll from the C:\Program Files\Common Files\Enterprise Single Sign-On folder in Com+SSOCSTX.dll from the C:\Program Files\Common Files\Enterprise Single Sign-On folder in Com+
7) Click next to all other option

Note: This is workaround which i tried on customer Development box. Incase its production server please go for installation rather than this workaround.

Written by:
Anand Singh

Reviewed By:
Shailesh Agre

Microsoft GTSC.