• 締切済み

VS2005のセットアッププロジェクトにOracleDataAccess.dllを組み込みたいのですが・

お世話になります。 DB:Oracle10gR2 OS:Windows Vista Buisiness 言語:VB2005 上記の環境にてPL/SQLにて作成したストアドをVB2005よりODP.NETにてコールするプログラムを作成しました。 それを実際のユーザ環境にセットアップすべくセットアッププロジェクトにて、インストーラを作成しましたが「OracleDataAccess.dll」が上手く組み込めず、ユーザ環境でモジュール実行すると、エラーが発生します。 ※エラー内容は詳細忘れましたが「OracleDataAccess.dllが見つかりません・・例外ハンドル・・」 試しにODP.NETをインストールすると上手く実行できました。 「OracleDataAccess.dll」のセットアッププロジェクトへの組み込み方ご存知の方おられましたらご教授いただけませんでしょうか? 以下の手順で実行しました。 ファイル→追加→新しいプロジェクト→ セットアップと配置より、セットアッププロジェクトを選択しOKを押す→ 対象コンピュータ上のファイルシステムで、「アプリケーションフォルダ」にて右クリック→追加→プロジェクト出力→プライマリ出力を選択すると、以下のようになります。 名前 「ソリューション名」のプライマリ出力(種類:出力) Oracle.DataAccess.dll(種類:アセンブリ) 尚、ユーザーのデスクトップ、ユーザーのプログラムメニューには「ソリューション名」のプライマリ出力(種類:出力)のみが存在します。 何か手順が抜けているのでしょうか? 宜しくお願い致します。

みんなの回答

  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.2

質問の意図が良くわからないのですが・・・ 質問は、「OracleDataAccess.dllをセットアッププロジェクトへ組み込んでインストーラを作成したい」のでしょうか? それとも、「OracleDataAccess.dllが見つからないエラーが出てるから出ないようにしたい」のでしょうか? 前者なら#1の通りですし、後者ならOracle Clientを入れたときに、Oracle Windows Interfacesパッケージが入っていないのだと思いますが・・・

ryozyryozy
質問者

お礼

質問の意図はタイトルのとおり前者です。 わかりにくかったのならすいませんでした。 Oracle Clientはインストール済みです。 解決しないので正直他のサイトでも同様に質問を挙げてみたのですがやはり回答は無いようです。私はそんなにレアなことを試みているのでしょうか?VB2005からODP.NETでOracleに接続させたいだけで、そのインストーラを作成したいだけなのですが・・。 宜しくお願い致します。

  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.1

Oracle.DataAccess.dllはOracle Clientをインストールすることで自動的にアセンブリ登録されるはずです。 質問は、VS2005のセットアップウィザードで作成したインストーラで、OracleのセットアップされていないPCへ同時にODP.netを使えるようにしたいという意味でしょうか? そうだとすると、それは別途Oracle Clientをインストールするしかないと思いますが・・・

ryozyryozy
質問者

お礼

ご回答ありがとうございます。 ただOracle Clientはインストール済みです。 他に何かございますでしょうか? 宜しくお願い致します。

関連するQ&A

  • VBのプログラムを配布したら・・・

     Visual Studio 2008(VB)でアプリケーションを作成後、セットアッププロジェクトで配布用のプログラム(Setup.exe)を作成し、別の環境のPCにセットアップを行ったところ、大部分はうまく動作したのですが、印刷の分だけがエラーを出して終了してしまいます。  セットアッププロジェクトの作成手順は以下のようにしていますが、何かおかしいのでしょうか? (1) [ファイル]-[新しいプロジェクト]-[セットアッププロジェクト作成] (2) [アプリケーションフォルダー]-[追加]-[プロジェクト出力]-[プライマリ出力]を選択 (3) (2)のショートカットを作成し、ユーザーのデスクトップ及びユーザーのプログラムメニューの下に    作成したフォルダーに移動 (4) ソリューションエクスプローラに出来た[Setup](私の場合)をビルド 因みに帳票類は、CrystalReportsで作成し、PDF出力するように作成しています。 プログラムを作成したPCにインストールした場合のみ問題なく動作していますが、同じプリンター を共有するPCにインストールした場合でも印刷が出来ないためドライバーの問題でもないような 気がします。 どなたかお知恵をお借り出来ませんでしょうか?

  • 既存のexeをvs2005のセットアッププロジェクトで登録したい

    こんばんは。 自分では今回の状況を抜け出せなく、質問させていただきます。 開発環境:vs2005 実行環境:win2000~vista 作成希望:vs2005のセットアッププロジェクトでサーバのインストール 現在、vb2.0からのアップグレード作業に従事してます。(vb8.0) 1対1のクラサバと考えていただいて結構です。 クライアントpgのアップグレードはイベント、型などは クリアできている状態(実行には問題なし)なのですが、 サーバ側のサービスインストーラにて四苦八苦しております。 サービスに登録したいexeはソースもあるのですが、 vs2005のセットアッププロジェクトでは 対象exeのコピーとレジストリ登録ぐらいしかできそうにありません。 自分の勉強不足でしょうが・・・(こんなんあるよ?をお待ちしてます) 既存のインストーラはapiを使用し、サービスの登録を行っていました。 既存のインストーラと同様の機能(サービスのアン、インストール)を vs2005のセットアッププロジェクトで作成することは可能でしょうか? 現存する16bitのexeをvs2005のセットアッププロジェクトにて 16bitがむりならば32bitならば「出来るよ」等の情報もお願いいたします。 よろしくお願いします。

  • exeではなくdllを出力したい。

    VB2005環境です。 あるソリューション(仮にA)に、プロジェクトが2つ (C、Dとします)入っています。 どちらも新規追加しただけの状態で、空のフォームが あるだけです。 この状態でビルドをすると、Aフォルダの中にB、Cフォルダ、 それぞれB.exeと、C.exeが出力されています。 最終的には、このB、Cのプロジェクトは、別のソリューション(Z) に追加したいと考えています。 ソリューションZにあるプロジェクトにはメニュー用のフォームが あり、ボタンを押すと、C、Dのフォームがそれぞれ立ち上がる ようにしたいのです。 既にソリューションZにはプロジェクトがいくつか追加されていて、 ビルドをかけると、それらは○○.dllの形で出力されます。 C、Dも.DLLの形で出力させたいのですが、方法がわかりません。 やり方を教えていただけないでしょうか?

  • VisualStudio2008 セットアッププロジェクトについて

    VisualStudio2008 セットアッププロジェクトについて VisualStudio2008 professional SP1 にて C#プロジェクトを作成後、 作成したアプリを配布するためにセットアッププロジェクトを作成しました。 (セットアッププロジェクトは同一のソリューション内に作成しました) カスタム動作等、特別な設定は何も行っていません。 作成したセットアップファイルを実行時、以下の操作を行った場合にエラーが発生してしまいます。 1.セットアップファイルを実行 2.インストールフォルダの選択画面で参照ボタンを押下 3.OSがインストールされているフォルダを選択してOKボタンを押下(C:\ 等) 4.もう一度参照ボタンを押下 5.3で選択したフォルダ以外を選択してOKボタンを押下(C:\data 等)   この時に「フォルダパス '?' に使用できない文字が含まれています」というエラーが発生します。 このエラーが発生すると選択したフォルダへ正しくインストールされなくなってしまいます。 VisualStudio2008の不具合なのか特別な設定があるのか、お教えいただけないでしょうか。 開発環境:WindowsXP 上記現象を確認した環境:WindowsXP, WindowsVista, Windows7 よろしくお願い致します。

  • VB DLLプロジェクトについて

    いつもお世話になってます。 VB6.0で開発を行っております。VBのDLLを作成しております。 そこで、お聞きしたいのが、DLLプロジェクトのプロパティの中に、コンポーネントという項があるのですが、 その中のバージョンの互換性について教えていただきたいと思っております。 まず、根本的にこれは設定をするとどういうことになるのでしょうか?バージョンの互換性という意味がよくわからないので、教えていただきたいと思います。 それと、「互換なし」、「プロジェクト互換」、「バイナリ互換」はどう使い分けるものなのでしょうか? ヘルプを見てもよくわかなかったので、教えていただきたいと思っております。 何卒よろしくお願い申し上げます。

  • visualstudioでc#のdllができない

    visualstudio2010を使用しています。 dllの作成をしたいのですが、なぜか作られません。 どこに手順を書きますのでどこに間違いがあるか教えてください。 (1)作成したプロジェクトを開く (2)ファイルー新しいプロジェクトを選択 (3)クラスライブラリを選択 (4)ソリューション(S):ソリューションに追加を選択ーOKボタン (5)DLLの中を書く (6)参照設定を選択する (7)ソリューションのプロパティのビルドでフォルダを指定する。 (8)ビルドする(もちろん通る) しかし、DLLはどこにも見当たらない。 検索しても、クラスライブラリを選択すれば自動的にできると書いてあるので、困り果てています 機能はMEFを使用し、僕ではない人が作ったDLLがすでに追加されており、僕もDLLを追加したいのですが、なぜかDLLが作成されません。 詳しいかたよろしくおねがいします。

  • VB6.0exeから.NETのDLLを呼び出した場合の実行時エラー’429’について

    お世話になります。 環境はWindowsXPです。 現在、VB6.0のexeから.NETのDLLを使用する・・・というのをしています。 以下の手順を踏み、実行してみたのですがどうも上手く行きません。。。 (1).NETのDLLを作成 (2)COMとして利用するために、.NET 2003コマンドプロンプトから「regasm」コマンドにてレジストリに登録 (3)tlbexpコマンドで、タイプライブラリを作成 (4)VB6のプロジェクトから(3)を参照設定する (5)VB6から.NETクラスを生成し、呼び出す (6)プロジェクトをコンパイルし、exeを生成 この手順にて実行すると「実行時エラー'429'ACtiveXコンポーネントはオブジェクトを作成できません」という エラーメッセージが出てしまいます。 windows updateをしてみたり、VB6.0のランタイムをインストールしてみたりしたのですが、 どうもダメみたいで困っています。 解決方法などご存知の方がいらっしゃいましたら、 ご教授いただけると大変助かります。 よろしくお願いいたします。

  • 配布用セットの作成

    VB2010 proでプロジェクトを作成しました. 作成したプロジェクトを他PCや他ユーザーが利用できるよう配布をしたいのですが、うまくいきません. 「新しいプロジェクトの追加」→ 「セットアップウィザード」→ 「Windowsアプリケーションのセットアップを作成する」→ 「プライマリ出力」→完成 と今はこういった手順でセットアップウィザードを作成しています. 私の作成したプロジェクトはいくつもの場面で,「Debugフォルダ > 画像フォルダ」に格納した 画像ファイルを表示させているのですが,セットアップウィザードからインストールしたものだと, これらの画像ファイルが見つからなく,実行エラーになってしまいます. そこで質問です.Debugフォルダー内に格納しているファイルにアクセスできる状態でプロジェクトを配布するにはどうしたらよいでしょうか?? どうぞよろしくお願いします。 あと,Debugフォルダー内には別のプロジェクトファイルも入れており,Shellで起動しているようにしています.これも一緒に配布したいのですが,どうしたらよいでしょうか?? 本当にお手数かけますが、よろしくお願いします。

  • ビルド後DLLのコピーをバッチで行いたい。

    VB2005環境です。 ソリューションのビルドを行うと、複数のDLLがDebugフォルダに 出力されるのですが、環境的に、それを別のディレクトリにそのまま コピーする必要があります。 この、ビルド→DLL出力→別のディレクトリへコピー、という 一連の作業をバッチファイルにして行いたいのですが、バッチの ビルドまでは msbuild フォルダパス\ソリューション でいけるのですが、この後の、出力されたもののコピーをやらせるには どうしたら良いか教えていただけないでしょうか? 最初からDLLの出力先を別ディレクトリに指定しておけばコピーする 手間は省けますが、事情によりそれは不可、ということでお願いします。

  • VisualStudioのプロジェクトでセットアッププロジェクトを作成

    VisualStudioのプロジェクトでセットアッププロジェクトを作成し、 ユーザー情報ダイアログを追加した時、 名前と所属を入力できるようになりますが、 何もしなくても、表示がでています。 何の値を表示しているのでしょうか? ご存知の方よろしくお願いします。

専門家に質問してみよう