I'm new to ESRI ArcObjects and I'm trying to create a basic MFC dialog application. I add the License and MapControl to the dialog resource. I compile and run the app, but I get the following runtime error:-

Could not bind to a valid ArcGIS installation. CoCreateInstance of OLE control {D7EAD71E-B663-4DCE-82C7-AEE2793DF5F3} failed.

Result code: 0x80040111 Is the control is properly registered? Warning: Resource items and Win32 Z-order lists are out of sync. Tab order may be not defined well. MFCDlg2.exe has triggered a breakpoint

I have registered the OCX's and I can see them in the registry. I'm running Win7 (64 bit) and Visual Studio 2008.

Please can anyone help



4 Answers 4


Are you compiling as an x86 (32-bit) application? ArcObjects is 32-bit only, so your application must be as well.


Open you VS,run Tool/"ActiveX Control Test Container" and try to add MapControl to it.any actx control which has been registed successfully you can add it to this container.If any problem with license(I think) you receive error on run time not compile time


See this help topic for instructions on how to bind your application to an ArcGIS runtime in Visual C++: http://help.arcgis.com/EN/sdk/10.0/ArcObjects_NET/conceptualhelp/index.html#//000100000nmm000000

// Load the ArcGISVersion library.
// This code is commonly placed in the StdAfx.h header file.
#import "libid:6FCCEDE0-179D-4D12-B586-58C88D26CA78" raw_interfaces_only no_implementation

// The following code can be used to bind to ArcGIS Engine Runtime:
ArcGISVersionLib::IArcGISVersionPtr ipVer(__uuidof(ArcGISVersionLib::VersionManager));
VARIANT_BOOL succeeded;
if (FAILED(ipVer->LoadVersion(ArcGISVersionLib::esriArcGISEngine, L "10.0",&succeeded)))
    return 0;

In Start -> ArcGIS -> run ArcGIS Administrator -> Engine -> Availability ->

I think you need both ArcGIS Engine Developer Kit and ArcGIS Engine Runtime to be authorized.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.