Quantcast
Channel: Forums - ArcObjects SDKs
Viewing all articles
Browse latest Browse all 1374

ArcGIS license corrupted by standalone application

$
0
0
This is a problem my coworkers and I have encountered several times without being able to track down the exact issue, and a very annoying and almost untestable one.

When testing a standalone application using ArcObjects, at the some point the license would end up corrupted and impossible to repair without contacting ESRI support.

A sample of the latest application in development that corrupted my license recently:

Code:

               
[STAThread]
static void Main(string[] args)
{
        AoInitialize arcObjectInitialize = null;

       
        if (!ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop))
        {
                System.Console.WriteLine("This application could not load the correct version of ArcGIS.");
                Environment.Exit(Environment.ExitCode);
        }
               
        try
        {
                arcObjectInitialize = new AoInitialize();
                esriLicenseProductCode typeLicense;

                if (arcObjectInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeBasic) == esriLicenseStatus.esriLicenseAvailable)
                {
                        typeLicense = esriLicenseProductCode.esriLicenseProductCodeBasic;
                        arcObjectInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeBasic);
                }
                else
                {
                        if (arcObjectInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeStandard) == esriLicenseStatus.esriLicenseAvailable)
                        {
                                typeLicense = esriLicenseProductCode.esriLicenseProductCodeStandard;
                                arcObjectInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeStandard);
                        }
                        else
                        {
                                if (arcObjectInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeAdvanced) == esriLicenseStatus.esriLicenseAvailable)
                                {
                                        typeLicense = esriLicenseProductCode.esriLicenseProductCodeAdvanced;
                                        arcObjectInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
                                }
                                else
                                {
                                        throw new Exception("ArcView");
                                }
                        }
                }
        }
        catch
        {
                Console.WriteLine("No valid license found, exiting program.");
                Environment.Exit(Environment.ExitCode);
        }
       
       
        //Some processings...
       
       
        try
        {
                arcObjectInitialize.Shutdown();
        }
        catch
        {
                Console.WriteLine("License shutdown failed, exiting program.");
                Environment.Exit(Environment.ExitCode);
        }
}

It follows the examples given on the support, but if there is something more to check or something that shouldn't be done, I woul be really glad to know what. The latest corruption happened while ArcMap was running in background, should it be avoided ? Is it a known issue or is there a way to check if the license is in use ?

Viewing all articles
Browse latest Browse all 1374

Trending Articles