LabVIEW実行ファイルをデプロイする際のアクセス違反0xC0000005が発生する

更新しました Jul 23, 2019

使用製品

Software

  • LabVIEW
  • LabVIEW Application Builder Module

問題

プログラム内でライブラリ関数呼び出しノードまたはActiveX呼び出しを使用し、LabVIEW開発環境で想定どおりに動作します。プログラムを実行ファイルとして実行しようとすると、アクセス違反エラー0xC0000005が返されます。

Access Violation Error 0xC0000005

これを解決するには、どうすればよいですか?

解決策

この動作を改善するには、呼び出すDLLまたはActiveXオブジェクトへのファイルパスを変更する必要があります。
たとえば、User32.dllを呼び出す場合、ファイルパスは通常次のようになります。
C:\Windows\System32\user32.dll
これは、手動で下記のように変更する必要があります。
%windir%\System32\user32.dll  

%windir%ディレクトリを使用すると、アプリケーションを実行ファイルとして実行するときだけでなく、LabVIEW開発環境内で実行するときにもDLLやActiveXオブジェクトにアクセスすることができます。

追加情報

このエラーは、ライブラリ関数呼び出しノード関数を使用してWindows DLLから外部コードを呼び出すときなど、さまざまな理由で発生します。Windowsは、Cドライブに直接配置された特定のドメインやフォルダへのアクセスを制限しています。

この記事はお役に立ちましたか?

いいえ