※ ChatGPTを利用し、要約された質問です(原文:VB2010で配付した添付ファイルが読み取れない)
VB2010で配付した添付ファイルが読み取れない
このQ&Aのポイント
Visual Sutudioで作成したインストーラを配布先のPCで実行する際に、AAA.mdbファイルが見つからないエラーが発生します。
AAA.mdbファイルを特定のフォルダにコピーすると、プログラムは正常に動作します。
Visual Sutudioでのデータ接続には、AAA.mdbファイルが入っていますが、アイコンに赤い×が表示されます。.NET Frameworkにもエラーマークがついています。
Visual Sutudio にて ほかのPCでCDなどで配布するためのインストーラをつくりましたが、
配布先(Windows7,WindowsXPとも)でどうしても AAA.mdbファイルがみつからない、というエラーになります。
エラーがでないように正常に動作させるにはをどうしたよいでしょうか?
たとえば、このAAA.mabファイルを使用すると、以下のエラーが表示されます。
アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。
[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。
[終了]をクリックすると、アプリケーションは直ちに終了します。
ファイル'C:\Documents and Setting\***\Local Settings\Apps\2.0\M2XB***.G17\5KL3***4.7WK\
****tion_0000000000******\AAA.mdb' が見つかりませんでした。
上記のフォルダに AAA.mdbをコピーするとプログラムは正常に動きます。
自分のPCでは特にコピーせずとも正常に動きます。
また、
Apps\2.0\M2XB***.G17\5KL3***4.7WK\****tion_0000000000******\AAA.mdbには、mdbファイルが
ないのですが、
Apps\2.0\M2XB***.G17\5KL3***4.7WK\****exe_0000000000******\AAA.mdbには、mdbファイルが
入っています。
Visual Sutudio のなかで、サーバーエクスプローラのデータ接続に AAA.mdbファイルが入っているのですが、
そのアイコンのところに ”X”が赤ででるのも気になります。
また、起動条件のなかの .NET Framework にも”!”マークがついています。
さらに(関係ないと思いますが)Visual Sutudioで、プロジェクトを開くと
とエラーがあり、ソリューションエクスプローラで見つかった依存関係を
ダブルクリックすると消えます。
お礼
試行錯誤した結果下記にて解決できました。ご指導いただきありがとうございました。 1、発行のアプリケーションファイル で、aaa.mdbファイルを 発行の状況を データファイル(自動)にする。ダウンロードファイルは、(必要)のまま。ハッシュも含む のまま。 2、プログラムの中でmdbを読み出すところを Dim Cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\aaa.mdb") とする。 3、配付プログラムを cドライブ直下においてもらう。 以上でした。 とりあえずの対処でしかないと思っていますが、 一応の解決とさせていただきました。 ありがとうございました。
補足
ご回答が大変遅くなり大変失礼しました。登録手順について理解が間違っていればすみません。 1、MyProjectの発行タブにいきます。 2、発行場所を C:¥***¥ を設定します。 3、アプリケーションをクリックし、ファイルを設定します。 ****.mdbは、 発行の状況;データファイル、ダウンロードグループ:(必要)、ハッシュ:含む に設定しています。 4、必須コンポーネントは、必須コンポーネント・・・にチェックし、アプリケーションと同じ場所から・・のボタンをクリックしています。 5、ほかは特に設定無く 発行ウイザードで、CD-ROMまたはDVD-ROMからを設定し、アプリケーションの更新を確認しない、にて完了、発行します。 逆に質問になって申し訳ないのですが、MDBファイルを見に行くフォルダをインストール時に作成しそのフォルダをプログラムが指定できれば良いのかと思い試行錯誤したのですが、うまくいきませんでした。考え方がまちがっていますでしょうか? プログラム側は、 Dim Cn As New Oleb.OleDbConnection("Provideer=Microsoft.Jet.OLEDB.4.0:Data Source=C:\Program Files\***.mdb") と設定しています。 発行のアプリケーションファイルでも ***.mdb を含む で、ダウンロードグループを C:\Program Files\ を設定しています。 試行錯誤していて、ご回答が遅くなってすみませんでした。