Deutsch

Error: R6034 Laufzeitfehler! Eine Anwendung hat versucht, die C-Laufzeitbibliothek falsch zu laden. Wenden Sie sich an das für die Anwendung zuständige Support-Team, um weitere Informationen zu erhalten

Fehlermeldung

ArcGIS Engine-Anwendungen in den Versionen 10.4 und 10.4.1 können die Meldung R6034 zum Laufzeitfehler zurückgeben. Dieser Fehler kann beim Öffnen einer MXD-Datei oder beim Aktualisieren eines Layers mit einem Python-Beschriftungsausdruck auftreten. Die vollständige Meldung sieht wie folgt aus:

Error: 
"Microsoft Visual C++ Runtime Library"

Laufzeitfehler!
Programm: C...
R6034
Eine Anwendung hat versucht, die C-Laufzeitbibliothek falsch zu laden.
Wenden Sie sich an das für die Anwendung zuständige Support-Team, um weitere Informationen zu erhalten.
Microsoft Visual C++ Runtime Error  

Nach dem Klicken auf OK, um die Fehlermeldung zu schließen, wird die Anwendung in der Regel weiter ausgeführt und funktioniert normal, ohne abzustürzen. Bei einer Abhängigkeit des Prozesses von Microsoft C Runtime Library Version 9 kann der Prozess jedoch abstürzen.
 
Hinweis:
Dieses Problem wirkt sich auch auf ArcGIS Engine Version 10.4.1 für das .NET Framework aus.

Ursache

Diese Fehlermeldung tritt auf, wenn die Anwendung doppelte Kopien von Microsoft C Runtime Library Version 9, msvcr90.dll, vorfindet. Die doppelte Kopie wird der Anwendung in der Regel bereitgestellt, wenn ein Ordner mit einer Kopie von msvcr90.dll in der Umgebungsvariablen PATH enthalten ist.

Beim Anzeigen von Karten oder Layern mit Python-Beschriftungsausdrücken, beim Öffnen des Python-Fensters und beim Arbeiten mit Geoverarbeitungswerkzeugen kann durch das dabei notwendige Laden von Python die falsche Microsoft C Runtime Library Version 9, msvcr90.dll, geladen werden. Die msvcr90.dll mit der C-Laufzeitbibliothek wird durch viele Drittanbieterprogramme installiert und verwendet. Wenn bei deren Installation und Konfiguration der Ordner des Programms zur Umgebungsvariablen PATH hinzugefügt wird, kann die Maschine dieses Problem in ArcGIS auslösen. Die an Esri gemeldeten Fälle zeigen, dass diese Konfiguration manchmal bei zwei weit verbreiteten Softwarepaketen auftritt: LANDesk (C:\Program Files (x86)\LANDesk\Shared Files) und die Komponente iCLS von Intel Management Engine (C:\Program Files (x86)\Intel\iCLS Client\).
 

Lösung oder Problemumgehung

Um sicherzustellen, dass die richtige msvcr90.dll (die durch Python benötigt wird) geladen wird, sollte ein Anwendungsmanifest zur Engine-Anwendung hinzugefügt werden. In Visual Studio: Neues Element hinzufügen > Anwendungsmanifestdatei (app.manifest). Fügen Sie in der Datei app.manifest den folgenden XML-Code hinzu:

<?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>

Dadurch wird sichergestellt, dass durch die Engine-Anwendung die richtige msvcr90.dll geladen wird. Kompilieren und testen Sie die Anwendung.
Hinweis:
Esri empfiehlt keine Problemumgehungen, bei denen die Umgebungsvariable PATH modifiziert oder die msvcr90.dll in Ordnern in der Umgebungsvariable PATH gelöscht wird, da sich dies auf Anwendungen, die die DLL benötigen, negativ auswirken könnte.

Referenzinformationen