VB2010で配付した添付ファイルが読み取れない

このQ&Aのポイント
  • Visual Sutudioで作成したインストーラを配布先のPCで実行する際に、AAA.mdbファイルが見つからないエラーが発生します。
  • AAA.mdbファイルを特定のフォルダにコピーすると、プログラムは正常に動作します。
  • Visual Sutudioでのデータ接続には、AAA.mdbファイルが入っていますが、アイコンに赤い×が表示されます。.NET Frameworkにもエラーマークがついています。
回答を見る
  • ベストアンサー

VB2010で配付した添付ファイルが読み取れない

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で、プロジェクトを開くと とエラーがあり、ソリューションエクスプローラで見つかった依存関係を ダブルクリックすると消えます。

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

> C:\Documents and Setting\***\Local Settings\Apps\2.0\ ClickOnceキャッシュ領域ですね。 AAA.mdbファイルを配布するにはコンテンツとして登録する 必要があるわけですが、ClickOnceの設定で実行したファイルの 登録手順を教えて下さい。

ogawawa
質問者

お礼

試行錯誤した結果下記にて解決できました。ご指導いただきありがとうございました。 1、発行のアプリケーションファイル で、aaa.mdbファイルを 発行の状況を データファイル(自動)にする。ダウンロードファイルは、(必要)のまま。ハッシュも含む のまま。 2、プログラムの中でmdbを読み出すところを Dim Cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\aaa.mdb") とする。 3、配付プログラムを cドライブ直下においてもらう。 以上でした。 とりあえずの対処でしかないと思っていますが、 一応の解決とさせていただきました。 ありがとうございました。

ogawawa
質問者

補足

ご回答が大変遅くなり大変失礼しました。登録手順について理解が間違っていればすみません。 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\ を設定しています。 試行錯誤していて、ご回答が遅くなってすみませんでした。

関連するQ&A

  • Microsoft Accessのデータが、別々のmdbファイルとして

    Microsoft Accessのデータが、別々のmdbファイルとして2つあります。Accessを持っていないので、OpenOfficeで開いています。このmdbファイルにあるテーブルをまとめてOpenOfficのBaseで開くことはできないでしょうか? 具体的には、Microsoft Accessのデータ、「aaa.mdb」「bbb.mdb」というファイルがあります。 「既存のデータベースに接続」>「Microsoft Access」で、「aaa.mdb」や「bbb.mdb」に、個別に接続して新規データベースを作成することはできたのですが、どちらのmdbファイル内にあるテーブルも参照してクエリを作りたいんです・・・。 また、過去に無理矢理「bbb.mdb」のテーブルをCtrl+c>Ctrl+vで「aaa.mdb」にコピー&ペーストしていたこともありましたが、今回はテーブルサイズが大きいせいか、エラーになります(メッセージ:エラーが発生しました。コピー処理を続行しますか)。 データベースに関する基礎知識が足りないので、そもそもそれができるかどうかも分かりません。 Webで検索しても参考になるサイトを見つけられませんでした。 よろしくお願いいたします。

  • VB6でmdbファイルを取り扱う場合について

    VB6で作られたプログラムのexeやdllファイルの一覧を受け取り、こちらの環境で 実行すると1カ所だけエラーになる処理があります。 それは、DBからデータを取得し→ローカルmdbファイルを作成しデータを格納 →mdbファイルの内容を印刷 という流れの処理なのですが、そこでエラーダイアログが出て "Error detected by database DLL"と表示されます。 ソースがないので細かいデバッグができないのですが、推測としてどういった 原因が考えられるのでしょうか? 別の環境で正常に動いていたのでプログラム自体にエラーがあることはありません。 実行環境はXP SP3です。 今の環境はAccessが入ってないのですが、それが原因なんでしょうか?

  • VB2010ビルドできるが配付ではビルドできない

    VB2010にてプログラムをはじめて作りました。配付するために ”発行”にて、”必須コンポーネント”で、 「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」 を選択します。 アプリケーションはオフラインでも利用できる。を選択します。 ”今すぐ発行”を選択します。 すると、添付のように  プロジェクトがビルドできなかった、等のエラーがでます。 必須コンポーネントで、”必須コンポーネントをコンポーネントの発売元のWebサイトからダウンロードする。” を選択すると  プロジェクトがビルドできなかったのエラーはでませんでしたが、添付のエラーの右側となりました。 エラーにならないようにするにはどうしたらよいでしょうか? エラーの詳細は、アプリケーションと同じ場所から必須コンポーネントをダウンロードする」の場合は、 エラー1:プロジェクトがビルドできなかったため、発行できません。 エラー3:必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 'Microsoft .NET Framework 4 Client Profile (x86 および x64)' のファイル 'DotNetFX40Client\dotNetFx40_Client_x86_x64.exe' がディスクに見つかりません。詳細については、ヘルプを参照してください。 エラー4:必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 'Microsoft .NET Framework 4 Client Profile (x86 および x64)' のファイル 'DotNetFX40Client\dotNetFx40LP_Client_x86_x64ja.exe' がディスクに見つかりません。詳細については、ヘルプを参照してください。 エラー2:必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 'Windows インストーラー 3.1' のファイル 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' がディスクに見つかりません。詳細については、ヘルプを参照してください。 ”必須コンポーネントをコンポーネントの発売元のWebサイトからダウンロードする。” の場合は、 エラー1:次のエラーにより、'http://localhost/WindowsApplication2/' に接続できませんでした: Web サイト 'http://localhost/WindowsApplication2' を作成できません。 IIS はこのコンピューターにインストールされていません。ローカル IIS Web サイトにアクセスするには、次の IIS コンポーネントをインストールする必要があります: インターネット インフォメーション サービス IIS メタベースおよび IIS 6 構成互換性 ASP.NET 加えて、管理者アカウントで Visual Studio を実行する必要があります。 詳細については、F1 キーを押してください。 管理者で実行していると思いますが。

  • Access2003 ファイル起動時エラーについて

    アクセスのファイルが2個あります。 1つはAAA.mdb。もう1つはAAADB.mdbです。 AAAを開くと、AAADBが連動するシステムになっています。 今、両方が入っているServerの状況が悪くなっているので、それらを自分のPCにコピーしました。 Serverを停止し、AAAを開くと、かつてAAADBが存在していたパスに接続できないエラーが発生します。 そこで、実在するAAADBのパスを設定したいと思っていますが、その方法が解りません。 是非ともお教え下さい。 この2個のファイルは、私だけが使用しているので、他人との共用は考える必要ありません。

  • POSについて

    POS(Point Of Sales)について質問です。 本日ショートカットを起動し、ID・passを入力した所 「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。「続行」をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。「終了」をクリックすると、アプリケーションは直ちに終了します。」 データベースの形式'Cドライブのとあるmdbファイル'を認識できません。 と出ました。 続行してもこのエラーは表示され、終了を押すとアプリケーションが終了します。 どなたか改善策を教えて下さい。

  • 別のAccessファイルのフォームを開くには

    Win2000、Access2000を使用しています。 「あいうえお.mdb」というファイルのフォーム上のボタンをクリックすると、「かきくけこ.mdb」というファイルを起動してそのファイル内のフォームを開きたいんですが、 「かきくけこ.mdb」を起動することができません。 エクセルやワードを起動する要領ではできないのでしょうか?(マクロの”アプリケーションの実行”とかShell関数とかで) どなたかおわかりになる方がいましたらお教え下さい。

  • MDBファイルの実行について

    こんばんは、いつもお世話になっています。 授業で配布されたアプリケーションを家で実行してみたのですが ファイル形式はMDBとなっており、実行出来ませんでした。 というのも、家PCはアクセスを導入していませんでした。 アクセスを買わないと、家でアプリケーションを実行することはできませんか? もし、ビジュアルベーシックのように、ソフト自体がなくても実行出来る方法があれば教えてください。

  • VBのランタイムエラーについて

    MDBファイルのバックアップの処理を毎日タスクで流すためにVBでEXEを作ったのですがエラーが発生しました。 ランタイムエラーのようですがMDBファイルの最適化の処理を追加する前は正常に動作していました。。。 エラー内容は run-time error'13' type mismatch です。 なにかランタイムをインストール必要があるのでしょうか? DBEngine.CompactDatabaseを使っているので参照設定で microsoft dao3.6 object libraryを追加してからおかしいようです。 お知恵をお貸しください>< '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ '_/ MDBファイル最適化 _/ '_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ defrg = INIfile_read("PATH", "defrag") filename = "abc.mdb" TempFile = Left(filename, Len(filename) - 3) & "bak" 'バックアップ名を作成 DBEngine.CompactDatabase defrg & "\" & filename, defrg & "\" & TempFile '最適化 Kill defrg & "\" & filename filename = Left(TempFile, Len(TempFile) - 3) & "mdb" Name defrg & "\" & TempFile As defrg & "\" & filename

  • 拡張子の関連付けの設定について VB6 VSI1.1

    Visual Basic 6 SP6 でアプリケーションを作成し、Microsoft Visual Studio Installer 1.1でインストーラーの作成をしましたが、ファイルの(拡張子の)関連付けの設定ができません。このアプリケーションで作成したデータが「.abc」という拡張子で保存される場合、拡張子が「.abc」のファイルをダブルクリックした場に、今回作成したアプリケーションが起動してファイルを読み込むようにするためのMicrosoft Visual Studio Installer 1.1上での設定方法についてお教え願えないでしょうか。よろしくお願いいたします。

  • ACCESSファイルが開けません。

    保存しているACCESSファイルを開こうとすると、 「ドキュメント『ドキュメント.mdb』を前回開いた時に重大なエラーが発生しました。このドキュメントを引き続き開きますか?」 と、出ます。 恐いので「はい」も「いいえ」をクリックしますが、できずにいます。 どうしたらよいでしょうか?と、出ます。