Error: Unable to load DLL 'ArcGISVersion.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Running an ArcGIS Engine application on a 64-bit platform causes the following runtime error message:
"Unable to load DLL 'ArcGISVersion.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"
This runtime error occurs when the platform target for the ArcGIS Developer Kit version 10 or 10.1 application is set to 'Any CPU' or 'x64' mode when compiled. This creates a header file in the application, instructing the Common Language Runtime (CLR) to load and run the executable in the same process space in which the application is run. Therefore, when the application runs on an x64 (64-bit) machine, the 64-bit process cannot load the ArcGIS Engine DLLs marked as x86 (32-bit).
Solution or Workaround
Set the central processing unit (CPU) platform target to 'x86' when compiling the ArcGIS Engine application, as this allows the target machine to run and load the 32-bit DLL assemblies required to run the application, regardless of platform.
For more information on how to set the platform target CPU in C# and VB.Net, refer to the 'Platform CPU target changes' section in the following ArcGIS Web Help link:
How to migrate ArcGIS 9.3 Desktop and Engine stand-alone applications to ArcGIS 10.
- ArcGIS Web Help: How to migrate ArcGIS 9.3 Desktop and Engine stand-alone applications to ArcGIS 10
- Error: ArcGIS Engine Controls fail to build using Visual Studio 2010 on a 64-bit OS
- ArcGIS Web Help: What is new for developers at 10.1?