Español

Error: R6034 Error en tiempo de ejecución. Una aplicación ha intentado cargar la biblioteca de tiempo de ejecución C incorrectamente. Póngase en contacto con el equipo de soporte técnico de la aplicación para obtener más información.

Mensaje de error

Las aplicaciones de ArcGIS Engine pueden devolver el mensaje de Error en tiempo de ejecución R6034 en las versiones 10.4 y 10.4.1. Este error se puede producir al abrir un archivo .mxd o al actualizar una capa con una expresión de etiquetado de Python. El mensaje completo es el siguiente:

Error: 
“Microsoft Visual C++ Runtime Library”

Error en tiempo de ejecución.
Programa: C...
R6034
Una aplicación ha intentado cargar la biblioteca de tiempo de ejecución C incorrectamente.
Póngase en contacto con el equipo de soporte técnico de la aplicación para obtener más información.
Microsoft Visual C++ Runtime Error  

Después de hacer clic en Aceptar para cerrar el mensaje de error, la aplicación normalmente sigue ejecutándose y funciona con normalidad, sin bloquearse. Sin embargo, si el proceso tiene una dependencia de la Biblioteca de tiempo de ejecución C de Microsoft, versión 9, puede bloquearse.
 
Nota:
Este problema también afecta a ArcEngine versión 10.4.1 para .NET Framework

Causa

Este mensaje de error se produce cuando la aplicación encuentra copias duplicadas del archivo msvcr90.dll de la Biblioteca de tiempo de ejecución C de Microsoft, versión 9. La copia duplicada se expone normalmente a la aplicación cuando existe una carpeta con una copia de msvcr90.dll en la variable de entorno PATH.

Visualizar mapas o capas con expresiones de etiquetado de Python, abrir la ventana de Python y trabajar con herramientas de geoprocesamiento pueden hacer que se cargue Python, lo cual puede desencadenar que se cargue el archivo msvcr90.dll incorrecto de la Biblioteca de tiempo de ejecución C de Microsoft, versión 9. La biblioteca de tiempo de ejecución C msvcr90.dll está instalada y la usan muchos programas de terceros. Si su instalación y configuración agrega la carpeta del programa a la variable de entorno PATH, el equipo puede desencadenar este problema en ArcGIS. Los casos comunicados a Esri muestran que esta configuración se ve a veces con dos paquetes de software muy utilizados: LANDesk (C:\Archivos de programa (x86)\LANDesk\Archivos compartidos) y el componente iCLS de Intel Management Engine (C:\Archivos de programa (x86)\Intel\iCLS Client\).
 

Solución o solución alternativa

Debe agregarse un manifiesto de aplicación a Engine para garantizar que se carga el archivo msvcr90.dll correcto (el que requiere Python). En Visual Studio, Agregar nuevo elemento > Archivo de manifiesto de aplicación (app.manifest). Agregue el siguiente código XML a app.manifest:

<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity ..../>
  <trustInfo .../>
  <compatibility .../>

  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.vc90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
    </dependentAssembly>
  </dependency>

</assembly>

De esta forma se asegurará de que la aplicación Engine carga el archivo msvcr90.dll correcto. Compile y pruebe la aplicación.
Nota:
Esri no recomienda soluciones que impliquen modificar la variable de entorno PATH ni borrar el archivo msvcr90.dll de las carpetas enumeradas en PATH, ya que al hacerlo, puede afectar negativamente a cualquier aplicación que dependa del DLL.

Información relacionada