Home Page › Forums › BizTalk 2004 – BizTalk 2010 › Explorer OM is not supported in a 64 bit process. –
- This topic has 5 replies, 1 voice, and was last updated 8 years, 3 months ago by
community-content.
-
AuthorPosts
-
-
January 8, 2009 at 4:49 AM #21487
Hi All,
I have developed one code (Windows Service) who create dynamically receive location using Microsoft.BizTalk.ExplorerOM.dll API. I tested on my Development server and it works fine.
But When I try to use this service in our production which is 64-bit process it gives me following error.
Explorer OM is not supported in a 64 bit process. [:(]
Could you guys please assist me. What was the problem with Microsoft.BizTalk.ExplorerOM.dll?
How do I solve this issue?
Do we have other atlernative to create receive location dynamically?
In advance I appreciate your suggestion
Regards,
– Dhaval M.
-
January 26, 2009 at 4:33 AM #21568
Hi,
We have the same problem, but didn’t get any answer yet even, after reading this one: http://www.modhul.com/2007/08/19/biztalk-explorer-om-not-supported-in-a-64-bit-environment/
but it might help you…
Regards,
Hung
-
January 27, 2009 at 4:01 AM #21576
compile your code with the /platform:x86 switch
Regards
Pat
-
January 30, 2009 at 2:27 AM #21602
I have faced this issue too.
When we compile with Platform:x86 switch then the application runs on 32 bit host instance not the 64 bit host. Then we can not get the advantage of 64 bit.
Only option that I found to use the below . Hope this will help you
// Query for the BizTalk Receive Location.
private const string queryCom= “SELECT * FROM MSBTS_ReceiveLocation”;string receiveLocationName = string.Empty;
//Create the WMI search object.
ManagementObjectSearcher Searcher = new ManagementObjectSearcher();// create the scope node so we can set the WMI root node correctly.
ManagementScope scope = new ManagementScope(“root\\MicrosoftBizTalkServer”);
Searcher.Scope = scope;// Build a Query to enumerate the MSBTS_ReceiveLocation instances if an argument
// is supplied use it to select only the matching URL.
SelectQuery selectQuery = new SelectQuery();query.QueryString = queryCom;
// Set the query for the searcher.
Searcher.Query = selectQuery;// Execute the query and determine if any results were obtained.
ManagementObjectCollection queryCol = Searcher.Get();//Get the Recive Location Name from InboundTransportURL property
foreach (ManagementBaseObject envVar in queryCol)
{
PropertyDataCollection envVarProperties = envVar.Properties;
foreach (PropertyData envVarProperty in envVarProperties)
{
if ((envVarProperty.Name.Equals(“InboundTransportURL”)) &&
(inboundAddress.Equals(envVarProperty.Value)))
{
//Set the reciveLocationName from the InboundTransportURL property
receiveLocationName = envVar[“Name”].ToString();
break;
}
}
}Regards,
Nandika
-
-
-
January 30, 2009 at 6:52 AM #21609
If I remember correctly, the reason for this might be that ExplorerOM depends on some of the ENTSSO assemblies, some of which are unmanaged code (and possibly only available in x86… or the ExplorerOM code simply was not written to automatically use the right platform-specific version, which can be tough).
-
June 17, 2009 at 10:06 AM #22679
Hi
ExplorerOM is being used by the ESB Guidance 1.0.
Does this mean that ESB Guidance simply cannot be used in a 64 bit environment?
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.