Attempts to initialize an ArcObjects license fails in a 64 bit process. The same code works fine in 32 bit process.
Update: I'm able to bind to the server runtime in 64 bit console app on a machine where Server is installed (but where desktop is not authorized). Next I will attempt to do this on a machine where Server is installed but not authorized. (Desktop is installed and authorized.)
While some are under the impression that ArcObjects won't work in 64 bit mode, I know this is not true. I've written custom GP Tools using ArcObjects that run in 64 bit Background Geoprocessing. In a GPTool however, I don't have to deal with initializing a license. But now, I need to.
How do I initialize an arcobjects license in a 64 bit process?
Eventually the .NET class library assembly needs to be called from a module built with ArcGIS Pro SDK v1.4. For now I'm just trying to use it from a simple console app. I'm assuming in both cases I'll need to initialize an arcobjects after calling RuntimeManager.Bind, which is in the ESRI.ArcGIS.Version assembly.
The library works in 32 bit mode, but I get a runtime exception when it tries to load the assembly in 64 bit mode:
An unhandled exception of type 'System.DllNotFoundException' occurred in ESRI.ArcGIS.Version.dll Additional information: Unable to load DLL 'ArcGISVersion.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) I tried registering the dll:
%windir%\syswow64\regsvr32 "C:\Program Files (x86)\Common Files\ArcGIS \bin\ArcGISVersion.dll" But get same error. I've downloaded and installed the Background Geoprocessing package.