Bind and License your standalone ArcGIS Engine or Desktop application

At ArcGIS 10 you can bind your standalone application to an Engine or Desktop runtime and license your application by making a single call to BindLicense.

Here are the 2 steps:

  1. Reference the ESRI.ArcGIS.Version assembly
  2. Call ESRI.ArcGIS.RuntimeManager.BindLicense(ProductCode.EngineOrDesktop) before calling any ArcObjects code or creating any of the ArcGIS Engine Controls. So a good place for this would be in the main entry point of the application

static void Main()
     if (!RuntimeManager.BindLicense(ProductCode.EngineOrDesktop))
MessageBox.Show(“Unable to bind to ArcGIS runtime. Application will be shut down.”);
Application.Run(new Form1());

Firstly, this BindLicense method will try to Bind to an Engine Runtime, but if unavailable it will try to bind to a Desktop Runtime. Secondly, it will license the application with the lowest license level available (in the order of ArcGIS Engine, ArcView, ArcEditor, ArcInfo).

For more advanced binding and licensing options please refer to:

Content provided by Gayle Young


This entry was posted in Uncategorized and tagged , , , , , , , . Bookmark the permalink.

Leave a Reply


  1. adityaiiii says:

    I think it has to be RuntimeManager.Bind(ProductCode.EngineOrDesktop) instead of RuntimeManager.BindLicense(ProductCode.EngineOrDesktop) since BindLicense is a void function, so cannot be used with ! operator in the if loop.

  2. Pimplebutt says:

    Who is writing this blog?
    This isn’t esri employees?

    I guess i’m used to microsoft, where the employees who have an expertise in a certain area and work directly in that area, write a blog about it, so people can get insight, and correct information.

    Based on the other guy’s comment (adityaiiii), I guess any joe blow can write an article on this blog and not know what they are talking about?

    If I’m wrong, then this comment, and the other guy’s should be deleted so as not to confuse people.

    If these blogs are facts by expert employees, then make that clear, so that peoples uninformed comments are interpreted as fact.

  3. stefanloehr says:


    I have to port an old Delphi Application to ArcGIS 10.
    Can you tell me how to do the “RuntimeManager.Bind” in Delphi code?

    Thanks for your help,

    Stefan Löhr

  4. sgroup_mm says:

    How to ‘Unbind’ from a license without closing standalone application?

  5. kazanjianm says:

    ESRI Tech Support just referred me to this blog post more than 2 and a half years after a commenter pointed out the code is incorrect.
    ESRI should update the blog post or take it down.

  6. jonbruce says:

    There is nothing wrong with this code. If you open a new project in visual studio with the arcobjects SDK installed, you will see that the “Binding” code is exactly the same as what is auto generated in the template file under LicenseInitializer. As for the Author’s integrity, just click his name and you’ll see that he’s still writing articles for ESRI and is obviously not some “Joe Blow”. Lastly, commentators should test their code before being critical of what is posted.