日本語

エラー: R6034 ランタイム エラーが発生しました。 アプリケーションが、間違って C ランタイム ライブラリを読み込もうとしました。 詳細については、アプリケーションのサポート チームにお問い合わせください

エラー メッセージ

ArcGIS Engine アプリケーションの 10.4 と 10.4.1 バージョンで、ランタイム エラー R6034 メッセージが返されることがあります。 このエラーは、*.mxd ファイルを開くときか、Python ラベリング条件式を含むレイヤーを更新するときに発生することがあります。 完全なメッセージは次のとおり表示されます。

エラー:   
"Microsoft Visual C++ ランタイム ライブラリ"

ランタイム エラーが発生しました。
プログラム: C...
R6034
アプリケーションが、間違って C ランタイム ライブラリを読み込もうとしました。
詳細については、アプリケーションのサポート チームにお問い合わせください。
Microsoft Visual C++ Runtime Error  

[OK] をクリックして、エラー メッセージを閉じた後、一般的にアプリケーションは継続して動作し、強制終了されることなく正常に機能します。 ただし、プロセスが Microsoft C ランタイム ライブラリ バージョン 9 と依存関係にある場合、そのプロセスは強制終了されることがあります。
 
注意:
この問題は .NET Framework 用の ArcEngine バージョン 10.4.1 にも影響を与えます。

原因

このエラー メッセージは、アプリケーションで、Microsoft C ランタイム ライブラリ バージョン 9 (msvcr90.dll) の重複するコピーが検出された場合に発生します。 一般的に、重複するコピーがアプリケーションで見つかるのは、msvcr90.dll のコピーを含むフォルダーが PATH 環境変数内に存在するときです。

Python ラベリング条件式を含むマップまたはレイヤーを表示するときや Python ウィンドウを開くとき、およびジオプロセシング ツールを操作するときはいずれの場合も、Python が読み込まれる可能性があるため、間違った Microsoft C ランタイム ライブラリ バージョン 9 (msvcr90.dll) の読み込みが開始されることがあります。 msvcr90.dll C ランタイム ライブラリは、多くのサードパーティ プログラムでインストールおよび使用されています。 この種のプログラムのインストールと構成において、プログラムのフォルダーが PATH 環境変数に追加されると、コンピューターでこの ArcGIS の問題が起きることがあります。 Esri に報告されたケースによると、LANDesk (C:\Program Files (x86)\LANDesk\Shared Files) と Intel Management Engine の iCLS コンポーネント (C:\Program Files (x86)\Intel\iCLS Client\) という、一般に使用されている 2 つのソフトウェア パッケージでこのような構成が認められることがあります。
 

解決策または対処法

(Python で必要とされる) 正しい msvcr90.dll が読み込まれるようにするには、アプリケーション マニフェストを ArcGIS Engine アプリケーションに追加する必要があります。 Visual Studio で、[新しい項目の追加] → [アプリケーション マニフェスト ファイル] (app.manifest) の順に選択します。 次の XML を 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>

これにより、正しい msvcr90.dll が確実に ArcGIS Engine アプリケーションに読み込まれるようになります。 アプリケーションをコンパイルしてテストします。
注意:
PATH 環境変数の変更または PATH 内にリストされているフォルダーからの msvcr90.dll の削除を必要とする回避策はお勧めできません。これらはいずれも、当該 DLL に依存しているアプリケーションにマイナスの影響を及ぼすおそれがあるためです。

関連情報