C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: セットアップのビルドとインストールによる事象


(過去ログ 34 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■17092 / inTopicNo.1)  セットアップのビルドとインストールによる事象
  
□投稿者/ ゆっけ (1回)-(2008/04/16(Wed) 16:47:54)

分類:[VB.NET/VB2005] 

はじめまして。
ゆっけと申します。

VS2005PRO、VistaBusiness環境で
Oracleに登録されたデータを
EXCELテンプレートに出力、保存するシステムを開発してます。

MSで紹介されている「10 行でズバリ !! セットアップ プログラムの作成」
http://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/setup_program/default.aspx
を参考にビルド手前まで作成しました。

ビルド->(System)のビルド を実行後、
プロジェクト->インストール を実行し問題なくインストール完了し
システム自体も問題なく動いていたので
コントロールパネル->プログラムの追加と削除 からアンインストールしたところ
VBのプロジェクトファイルからビルドが出来なくなりました。

Sub DatabaseConnect()
OraSession = CreateObject("OracleInProcServer.XOraSession") ←ここで落ちました
OraDatabase = OraSession.OpenDatabase("TEST", "ID/Password", 0)
End Sub

予めとってあったバックをビルド実行しても
「(OracleInProcServerの)ライブラリは登録されていません。」
とエラーが表示されました。

テストで作ってあった実行ファイルも同じようなエラーで落ちました。

そのエラーが発生してから参照設定のCOMにあるはずの
OracleInProcServer が表示されなくなり
設定する事も出来なくなりました。

このような事態に陥り原因も分からなかったため
Oracleを再インストールし、参照も設定しなおしたところ
問題なく動くようになりました。

システムをインストールした後に
コントロールパネルからアンインストールしたのがいけなかったんでしょうか・・・?

何が原因でこうなったのか、僕には皆目見当もつかないので
分かる方いましたら教えてもらえないでしょうか?

よろしくお願いします。
引用返信 編集キー/
■17096 / inTopicNo.2)  Re[1]: セットアップのビルドとインストールによる事象
□投稿者/ とっちゃん (271回)-(2008/04/16(Wed) 19:17:55)
とっちゃん さんの Web サイト
No17092 (ゆっけ さん) に返信

> ビルド->(System)のビルド を実行後、
> プロジェクト->インストール を実行し問題なくインストール完了し
> システム自体も問題なく動いていたので
> コントロールパネル->プログラムの追加と削除 からアンインストールしたところ
> VBのプロジェクトファイルからビルドが出来なくなりました。
>
> Sub DatabaseConnect()
> OraSession = CreateObject("OracleInProcServer.XOraSession") ←ここで落ちました
> OraDatabase = OraSession.OpenDatabase("TEST", "ID/Password", 0)
> End Sub
>
> 予めとってあったバックをビルド実行しても
> 「(OracleInProcServerの)ライブラリは登録されていません。」
> とエラーが表示されました。

という状況と「参照設定のCOM」から含めてはいけないCOMオブジェクトが同梱されてしまっていると想定されます。

インストーラの依存関係のファイルに、参照設定したCOMのコンポーネントが
含まれていませんか?
それを除外すれば、大丈夫だと思います。

ただし、別途上述のCOMオブジェクトをインストールする必要はありますけど。

引用返信 編集キー/
■17127 / inTopicNo.3)  Re[2]: セットアップのビルドとインストールによる事象
□投稿者/ ゆっけ (2回)-(2008/04/17(Thu) 14:10:05)
2008/04/17(Thu) 14:11:17 編集(投稿者)

No17096 (とっちゃん さん) に返信

とっちゃんさん、返信ありがとうございます。

> 「参照設定のCOM」から含めてはいけないCOMオブジェクトが同梱されてしまっていると想定されます。
>
> インストーラの依存関係のファイルに、参照設定したCOMのコンポーネントが
> 含まれていませんか?
> それを除外すれば、大丈夫だと思います。
>
> ただし、別途上述のCOMオブジェクトをインストールする必要はありますけど。
>

VBにより作成される「Interop.OracleInProcServer.dll」ファイルとは別個に
「oip8.tlb」なるファイルがアプリケーションフォルダ以下に作成されてました。
この「oip8.tlb」を除外すれば問題ないということでしょうか?
引用返信 編集キー/
■17128 / inTopicNo.4)  Re[3]: セットアップのビルドとインストールによる事象
□投稿者/ とっちゃん (272回)-(2008/04/17(Thu) 15:02:09)
とっちゃん さんの Web サイト
No17127 (ゆっけ さん) に返信

> VBにより作成される「Interop.OracleInProcServer.dll」ファイルとは別個に
> 「oip8.tlb」なるファイルがアプリケーションフォルダ以下に作成されてました。
> この「oip8.tlb」を除外すれば問題ないということでしょうか?

おそらく...ですが、「oip8.tlb」必要ないはずです。
一度除外して動作を確認してみてください。

引用返信 編集キー/
■17129 / inTopicNo.5)  Re[4]: セットアップのビルドとインストールによる事象
□投稿者/ ゆっけ (3回)-(2008/04/17(Thu) 15:19:44)
No17128 (とっちゃん さん) に返信

とっちゃんさん、返信ありがとうございます。

確かに「oip8.tlb」はインストーラーに含める必要はないですよね…

しかし、「Interop.OracleInProcServer.dll」のプロパティにある依存関係の表示では
「.NET FrameWork」と「oip8.tlb」と表示されています。

これは、インストーラーとして含める必要性はないけれども
インストール対象としているPC(クライアント)には「oip8.tlb」ファイルは
必要だという意味にとってもいいのでしょうか?

ちなみに、アプリケーションフォルダ->追加->プロジェクト出力 で
プロジェクト追加すると、アプリケーションフォルダ内には「.NET FrameWork」はないですが
右ペインの依存関係には「.NET FrameWork」が記述されています。
これもインストーラーには含まないけれども
動作する環境として必要なものだという事でいいんでしょうか?

質問で聞いてばっかりですみませんが、よろしくお願いします。
引用返信 編集キー/
■17130 / inTopicNo.6)  Re[5]: セットアップのビルドとインストールによる事象
□投稿者/ ゆっけ (4回)-(2008/04/17(Thu) 15:56:25)
ゆっけです。

とっちゃんさんに言われた通り
「oip8.tlb」を除外しビルドをかけてインストールしました。
インストールしたものは正常に動作を確認。
アンインストールを実行し、SQL Plus や VBProjectファイルデバッグなどにより
Oracleへの接続を確認しましたところ正常に動いて大喜びと相成りました。

アプリケーションフォルダに含まれているものというのは
単純にインストーラーとして含みインストール対象としているもの。

見つかった依存関係に記述されているものはVBにより生成されたDLLを
動作させるために必要な環境、ファイルなどの事。

ってゆう事なんだろうなぁと感じました。


このような質問に付き合っていただきありがとうございました。
解決済み
引用返信 編集キー/
■17138 / inTopicNo.7)  Re[6]: セットアップのビルドとインストールによる事象
□投稿者/ とっちゃん (273回)-(2008/04/17(Thu) 18:07:17)
とっちゃん さんの Web サイト
No17130 (ゆっけ さん) に返信

> アプリケーションフォルダに含まれているものというのは
> 単純にインストーラーとして含みインストール対象としているもの。
>
基本的にこのフォルダに来るもの(正確にはプロジェクトの出力ファイル)は
プロジェクトで生成したものとなります。

それに対し
> 見つかった依存関係に記述されているものはVBにより生成されたDLLを
> 動作させるために必要な環境、ファイルなどの事。
は、動作するために必要となるその他のファイルとなります。

.NET Framework は、マネージアプリ(VBでもC#でも)が動作するために
必要な、System.dll とかが含まれたモジュールの集合体です。
こちらは、依存関係に出てくるものとは別に必須コンポーネントとして
インストーラに含めることができるようになっています。

tlb については、メタデータとして参照してますという情報が
含まれているんだと思います。
そのため、依存してるだろ!とカウントするのでしょう。
このあたりは、COM の相互運用のところにいろいろ書かれているので
興味があれば、参照してみてください。

解決済み
引用返信 編集キー/
■17140 / inTopicNo.8)  Re[7]: セットアップのビルドとインストールによる事象
□投稿者/ ゆっけ (5回)-(2008/04/17(Thu) 18:15:38)
2008/04/17(Thu) 18:16:04 編集(投稿者)

No17138 (とっちゃん さん) に返信

とっちゃんさん、補足説明ありがとうございます。

> このあたりは、COM の相互運用のところにいろいろ書かれているので
> 興味があれば、参照してみてください。

参照してみます。
ほんと、いろいろありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -