Using 32bit dll from SOE

1535
4
10-22-2014 10:31 PM
ModyBuchbinder
Esri Regular Contributor

Hi
all

We would like to use external 32bit dll within our SOE (that is 64bit).

Is there any way to do it?

Thanks

0 Kudos
4 Replies
VinceAngelo
Esri Esteemed Contributor

With what version or ArcGIS?  On what OS?  Actually, it doesn't make much of a difference, since neither Windows nor Linux permits heterogeneous architectures in DLLs.  You can use a multiprocessing solution to leverage the 32-bit DLL, writing the result back to the 64-bit process (via pipe or intermediate file), but the better solution involves getting a 64-bit utility DLL.

- V

0 Kudos
ErinBrimhall
Occasional Contributor II

You can't mix 64 and 32-bit components like this.  You will need to change your SOE to 32-bit (i.e. x86 target) in order to reference a 32-bit DLL, or obtain a copy of the external DLL that has been compiled for 64-bit.

0 Kudos
ModyBuchbinder
Esri Regular Contributor

Thanks
Vince and Erik

The server is 10.2.2 and it is 64bit – that is causing the problem.

Can you configure the SOE to be 32bit?

Can you communicate between a process (SOE) and a dll? Do you have to rap the 32bit dll as exe and then use some kind of messaging?

We are trying to get a 64bit version of the dll's but I am not sure it will be possible.

Thanks again

Mody

0 Kudos
nicogis
MVP Frequent Contributor

You can compile soe 32bit but then it doesn't run because it's load in a process 64bit

As Vince ad Erik say, better solution get 64-bit DLL or create a separate process 32bit. See also Accessing 32-bit DLLs from 64-bit code | Reflections on IT

0 Kudos