CÓMO

Autorizar ArcGIS Engine 10.0 utilizando archivos ASR

Last Published: April 25, 2020

Resumen

ArcGIS Engine 10.0 puede autorizarse mediante el uso de un archivo de licencia sin conexión que se denomina archivo ASR. Este se utiliza para autorizar ArcGIS Engine 10.0, Service Pack 1 (SP1) a Service Pack 4 (SP4). Para asignar correctamente una licencia a Engine 10.0 utilizando archivos ASR, deben realizarse varios pasos.

Tenga en cuenta que los archivos ASR son precursores de los archivo de licencia segura de ESRI (ESLF). Los archivos ASR tienen extensión *.asr, mientras que los archivos ESLF tienen extensión *.eslf. La diferencia entre ambos radica en que los archivos ASR se crearon para ArcGIS 10.0 SP1 a Sp4; los archivos ESLF reemplazaron a los archivos ASR en 10.0 SP5 y pueden utilizarse para licenciar las versiones de Engine a partir de 10.1 hasta la versión actual.

Procedimiento

Contenido del paquete de archivos ASR suministrado por el servicio de atención al cliente de ESRI

El archivo de licencia ASR incluye una serie de archivos y carpetas que proporciona el servicio de atención al cliente de ESRI.
  • Dos archivos de documentos de Word:
    • Autorización de ArcGIS 10 con ASR Files.docx explica cómo escribir código de licencia de ArcObjects mediante el uso de llamadas de API en .NET o C++
    • QFE-E-10SP1-163786.doc explica que esta corrección rápida (QFE) se ha creado para permitir la autorización de ArcGIS Engine 10.0 SP1 mediante el uso de archivos ASR.
  • Una carpeta (QFE-10SP1-163786) que contiene tres archivos binarios:
    • AoAuthorizer.dll
    • Esri.ArcGIS.AoAuthorizer.dll
    • aoauthorize.jar
  • El archivo de licencia ASR real; es tiene extensión .asr.

Autorizar Engine con el archivo de licencia ASR

  1. Registre los dos archivos dll anteriores: AoAuthorizer.dll y Esri.ArcGIS.AoAuthorizer.dll. Se trata de dll idénticos y, sin embargo, ambos deben registrarse en secuencia utilizando EsriRegAsm.exe. Esto puede realizarse en la línea de comandos mediante el uso de la sintaxis EsriRegAsm syntax (consulte la documentación de ArcObjects para obtener información sobre el registro desde la línea de comandos en la sección Información relacionada) o desde la carpeta en la que se encuentran; basta con hacer clic con el botón derecho en los archivos dll y, a continuación, hacer clic en Registrar. El producto en el que deben registrarse los dos archivos dll es Engine.

    El código fuente de licenciamiento en Visual Studio debe parecerse al fragmento de código mostrado abajo (puede ser una aplicación de consola).
ESRI.ArcGIS.AoAuthorizer.IAuthorizeLicense aoAuthorizeLicense = new ESRI.ArcGIS.AoAuthorizer.AoAuthorizeLicenseClass();
bool bound = ESRI.ArcGIS.RuntimeManager.Bind(ProductCode.Engine); // Bind to the ArcGIS Engine product
string pathToASRLicenseFile = @"C:\temp\SomeASRFile.asr"; 
string password = "somePassword";
aoAuthorizeLicense.AuthorizeASRFromFile(pathToASRLicenseFile, password); // Authorize using the ASR File
//aoAuthorizeLicense.DeauthorizeASRFromFile(pathToASRLicenseFile, password); // Uncomment this to de-authorize 
string featuresAdded = aoAuthorizeLicense.FeaturesAdded;
System.Diagnostics.Debug.WriteLine("Features Added: " + featuresAdded); // check if licensing was successfully done

// Check if the Engine Product Code is available
ESRI.ArcGIS.esriSystem.IAoInitialize aoInitialize = new ESRI.ArcGIS.esriSystem.AoInitialize();
ESRI.ArcGIS.esriSystem.esriLicenseStatus esriLicense_Status = aoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine);
System.Diagnostics.Debug.WriteLine("esriLicenseStatus: " + esriLicense_Status); // either "available" or "unavailable

Las llamadas de API anteriores se explican en el documento de Word: Autorización de ArcGIS 10 con ASR Files.docx.

En el código anterior, puede verse que la vinculación a un producto de ESRI (ArcGIS Engine) se ha llevado a cabo antes de la llamada al código ArcObjects.

Asegúrese de agregar una referencia de ensamblado a Esri.ArcGIS.AoAuthorizer.dll o AoAuthorizer.dll (estos dll son equivalentes) e incluya una sentencia using en la parte superior de la clase: using Esri.ArcGIS.AoAuthorizer.

Tenga en cuenta que si se omite el paso de registro de los dos archivos dll, ocurre un error en la siguiente línea de código:

IAuthorizeLicense aoAuthorizeLicense = new AoAuthorizeLicenseClass();
El mensaje de error que aparece es el siguiente:
Error:
Excepción COM no controlada:

La recuperación del generador de clase COM correspondiente al componente con CLSID {6DBE8BF8-6000-4734-B1A8-C81C69651C06} ha fracasado a causa del siguiente error: 80040154.
  1. Compile y ejecute el código.
    La autorización de licencias tiene lugar en esta línea de código:
IAoAuthorizeLicense.AuthorizeASRFromFile(pathToASRLicenseFile, password);
La desautorización se produce en esta línea de código:
IAoAuthorizeLicense.DeauthorizeASRFromFile(pathToASRLicenseFile, password);
Se efectúa la autorización correspondiente a un archivo cifrado (protegido con contraseña) o sin cifrar (sin contraseña).

En el caso de una archivo sin cifrar, simplemente se pasa en una cadena de caracteres vacía; en el archivo cifrado, se pasa en la contraseña como una cada de caracteres vacía.

La desautorización solo puede efectuarse tras una autorización correcta.

Desautorice Engine cuando ya no sea necesario autorizarlo en un equipo determinado. Si algo de lo siguiente es verdadero, se devuelve un error:
  • La ruta del archivo de autorización ASR es incorrecta
  • La contraseña del archivo ASR cifrado es incorrecta
  • Cuando se intenta desautorizar un archivo ASR antes de autorizarlo (quizá por error durante la prueba)
  • El archivo ASR ha caducado o es defectuoso
Error:
Excepción COM no controlada.

Se devolvió el error HRESULT E_FAIL de una llamada a componente COM.
  1. Abra el administrador de ArcGIS y seleccione el botón de opción ArcGIS Engine de uso único. No forma parte del proceso de autorización, pero permite verificar que la licencia se ha autorizado correctamente, además de mostrar la fecha de caducidad.

    Si se selecciona la carpeta Engine, debería ver que la licencia se ha autorizado de forma correcta, con la fecha de caducidad claramente indicada. La fecha de caducidad suele ser de 20 años a partir de la fecha de emisión de la licencia (configuración predeterminada para clientes OEM).

    Si se desautoriza Engine mediante el uso del archivo ASR, tendría que poder ver que la licencia ya no está disponible en el administrador de ArcGIS. Es evidente, porque el campo de fecha Caduca que antes contenía un valor, como 17-Oct-2037, ahora aparece en blanco y el campo Autorizado presenta la cadena de caracteres No. Esto también indica que el código funciona correctamente para autorizar/desautorizar Engine 10.0 SP4 contra archivos ASR.
Nota:
Los archivos ASR funcionan en Windows 7, 8 y 10, tanto en plataformas de 32 bits como de 64 bits.
Nota:
La compatibilidad con ArcGIS Engine 10.0 finalizó en 01/01/2016 para clientes estándar. La compatibilidad con clientes Premium caducó el 01/01/2018. ESRI recomienda a los clientes cambiar los archivos ASR por el nuevo marco: archivos de licencia segura de ESRI (ESLF) para ArcGIS Engine 10.1 y versiones posteriores.

Id. de artículo:000016872

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Información relacionada

Descubrir más sobre este tema