32 and 64 bit versions of the BizTalk Adapter Pack

There are two separate installers for the AdapterPack - one for X86, and one for AMD64 (x64). A common scenario I see is - the users are on an x64 machine, and install the 64 bit version of the Adapter Pack. They then create a project in Visual Studio, and use the "Add Adapter Service Reference" tool to generate metadata from the Adapter, but to their surpise, an error message pops up - "No valid adapters are installed on this machine". What's going on?

The Adapters are WCF bindings, and register themselves under the System.ServiceModel section in Machine.config. On a 64 bit platform, there are two Machine.config files - one which 32 bit applications use, and one which 64 bit applications use. When you install the 64 bit version of the AdapterPack, the installer only modifies the 64 bit version of machine.config. However, Visual Studio 2005 runs as a 32 bit process, and hence the "Add Adapter Service Reference" wizard checks the 32 bit version of machine.config, but since it did not find the adapter information there, an error message was displayed.

Hence, to get this to work on a 64 bit machine, you need to install both, the 32 bit version of the adapters if the design time experience in Visual Studio 2005 is required, and the 64 bit version of the adapters if the application which will ultimately use the adapter (runtime) is 64 bit.

For the SAP Adapter, this means you need to have both versions of the RFC SDK Unicode Library present - the 32 bit and the 64 bit libraries. The 32 bit version needs to be present in the SysWow64 folder (e.g., C:\Windows\SysWow64), and the 64 bit version needs to be present in the System32 folder (e.g., C:\Windows\System32).

For the Siebel Adapter, this adapter is only present in the X86 installer and is not supported on 64 bit system (in native 64 bit mode or in the WOW mode). Hence, this scenario of consuming the Siebel Adapter on a 64 bit machine doesn't exist.

NOTE - as far as the Adapter SDK is concerned, only one version can be installed at a time. Hence, on a 32 bit machine, you should only install the 32 bit version of the ASDK, and on a 64 bit machine, irrespective of which version of the Adapter Pack you are installing (32 bit, or 64 bit, or both), you should only install the 64 bit version of the ASDK.

Comments (2)

  1. rosing says:

    Biztalk Administration Console is actully a snapin for MMC which is a 32-bit process.

    So,the steps mentioned for Visual Studio 2005 also applies to Biztalk Administration Console.

    Please note that there is a Seperate process called BTSNTSvc.exe for hosting the adapter-runtime(On 64-bit machine, 32-bit biztalk process is BTSNTSvc.exe and the 64-bit process is BTSNTSvc64.exe).

    So, if you just want to host the service on the 64-bit production machine(BTSNTSvc64.exe will pick up 64-bit adapter dlls), then the 32-bit dlls are  not required, but if you want to access the Biztalk Administration Console and configure the adapter from the same machine then, you need to install the 32- bit version of the adapter as well.

  2. Digambar Kandangire says:

    I am using 32 bit version of Windows 7. I am running BizTalk 2010 developer edition. I have installed adapter SDK 32 bit, then LOB adapters pack, and then registered these adapters through BizTalk admin console. Restarted all services including SQL.

    When I do "add generated items" through visual studio, I am still getting the "No valid adapters installed on the machine." error. Any idea? Thanks.

Skip to main content