Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

配布時に最小限のドライバで動かすには

お世話になります。

 

VB.netでUSB-6501を制御するアプリケーションを作成しましたが、配布して別のPCで動作させることができません。

 

開発PCでは以下の設定を行い、正常に動作しました。
・NI-DAQmxのフルバージョンをインストールした。
・USB-6501を操作する為、プロジェクトの参照ファイルとして
\Program Files\National Instruments\MeasurementStudioVS2010\DotNET\Assemblies\Current の
NationalInstruments.Common.dllとNationalInstruments.DAQmx.dllを追加した。

 

配布先PCでは、ドライバの容量節約の為、以下の設定を行いました。
・NI-DAQmxのコアランタイムをインストールした。
・コアランタイムには上記2つのdllファイルが存在しないので、dllファイルのみ開発PCから持ってきて別フォルダに置き、参照パスも変更。

 

上記の設定の後、配布したアプリケーションを起動し、USB-6501を操作しようとすると
「ファイルまたはアセンブリ名NationalInstruments.DAQmx.dll、またはその依存関係の1つが見つかりませんでした。」
と表示されエラー終了してしまいます。参照先パスにファイルは存在するのですが、関連するファイルがないためと思います。

 

配布先PCに入れるドライバ類は最小限にしたいのでなるべくコアランタイムのインストールのみで動かせるようにしたいのですが、
開発時の参照設定も含め、どのようにすればいいのでしょうか。

0 Kudos
Message 1 of 5
(5,079 Views)

MTT_NM 様

弊社ディスカッションフォーラムをご利用頂きまして誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の桑島と申します。
ご質問頂きました配布時のドライバの件に関してご連絡差し上げます。

 

USB-6501をご使用とのことなのでやはり実行環境でもDAQmxのドライバが必要になります。
ただアプリケーション起動のみなので、容量的にも小さいコアランタイムエンジンを推奨致します。(~150MB)
ご理解の程宜しくお願いします。

 

日本ナショナルインスツルメンツ株式会社
技術部 桑島

0 Kudos
Message 2 of 5
(5,060 Views)

回答ありがとうございます。

 

タイトルと若干意味合いが違っており申し訳ないのですが、質問したい内容は

「コアランタイムだけで動かすにはどうすれば良いか」です。

配布先PCではコアランタイムだけインストールすれば動くだろうと思っていましたが、

実際には動作せず、コアランタイムには参照しているDLLファイルが入っていない事が判明した次第です。

よろしくお願いいたします。

0 Kudos
Message 3 of 5
(5,058 Views)

MTT_NM 様

弊社ディスカッションフォーラムをご利用頂きまして誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の桑島です。

 

コアランタイムエンジンはすでにインストール済みということですね。
失礼致しました。
実行環境のPCでは.NETのフル、もしくはClient Profileどちらがインストールされているのでしょうか。
過去の事例によるとClient Profileでは動作しないということを確認致しました。
http://forums.ni.com/t5/Measurement-Studio-for-NET/How-to-distribute-the-program-developed-with-DAQm...

さらに上記の内容からCommon.dllやDAQmx.dllの他に依存しているDLLのリストがございますのでご確認下さい。

 

上記内容をご確認の上、お手数ですが再度ご連絡いただけますと幸いです。
宜しくお願い致します。

 

日本ナショナルインスツルメンツ株式会社
技術部 桑島

0 Kudos
Message 4 of 5
(5,029 Views)

日本ナショナルインスツルメンツ株式会社
技術部 桑島様

 

回答ありがとうございます。

先週は時間がなかったので止む無く配布先PCにもフルバージョンを入れましたが、

ようやく余裕ができたので、ご紹介いただいた方法を試してみる事にしました。

 

リンク先の記事に従ってNiLmClientDLL.dllとCommon.Native.dllを参照に追加しましたが、

msvcr90.dllの追加で問題が発生しました。

ファイル場所が不明だったのでPC内を検索し、「C:\Program Files\Common Files\microsoft shared\IME14\SHARED」

にあったmsvcr90.dllを参照に追加しようとしましたが、「R6034 ファイルがアクセス可能で、

有効なアセンブリまたはCOMコンポーネントであることを確認してください」というエラーが出て追加できませんでした。

現状でコアランタイムのみで動作するかどうかはインストール未試行のため不明です。

(フルインストールしたPC上にmsvcr90.dllがそもそも存在しないので、もしかしたら不要かも知れません。)

インストール試行したら再度連絡いたします。よろしくお願いします。


0 Kudos
Message 5 of 5
(5,008 Views)