今、起こっている問題を短く説明しますと
InputManというサードパーティのコントロール郡を使用したユーザコントロールがあるプロジェクトを、別プロジェクトのDataRepeaterで使用。
ディストリビューションウィザードでインストールしたところ開発環境では問題なし。
エンドユーザーPCではインストール後、フォームを開くとInputmanのライセンスIDの入力が求められます。
詳しく最初から説明します。
環境:WindowsXP(SP2) VB6(SP3) InputManPro6.5J を使用して開発しています。
2つのプロジェクト(Hontai.vbpとControl.vbp)を1つのグループ(Hanbai)にまとめています。
Control.vbpではInputManという市販のコントロールを参照設定して
テキストボックス(InputMan)をいくつかならべたActiveXコントロール(Control.ocx)を作っています。
Hontai.vbpではフォームにテキストボックス(InputMan)とDataRepeaterを貼り付け 、そのDataRepeaterでControl.vbpで作ったコントロールを使用しており、データベースのテーブルの内容を表示しています。
ここからが問題なのですが、Hontai.vbpでディストリビューション ウィザードを実行し、「Control.ocxの依存情報がありません」と言うメッセージを無視してパッケージを作成し、InputManがインストールされていないPCでパッケージをインストール後、Hontai.exeを実行しますとInputmanのライセンスキーの入力を求められます。
求められるのはControl.ocxを使用しているフォームのみです。
そのままInputmanのコントロールを使用しているフォームは問題なく動作しています。
Hontai.vbpで使用しているテキストボックス(InputMan)はパッケージにText60.ocx(InputManで使用するActiveXコントロール)があるので問題ないのですが、Control.ocxでもテキストボックス(InputMan)を使用しているので、Control.ocxの依存情報ファイル(Control.DEP)が必要と思い、先にControl.vbpでディストリビューション ウィザードを実行し、依存情報ファイルを作成後、Hontai.vbpのパッケージ作成を行ってみると「Control.ocxの依存情報がありません」というメッセージがでなくなりました。
ですが、やはりそれでもInputmanが入っていないPCにインストールすると、Control.ocxを使っているフォームを開くとライセンスキーの入力を求められます。(Control.ocxはDataRepeaterから以外では使用していない)
さらにテストを続けてみると
Hontai.vbpで使用しているDataRepeaterがControl.vbpにあるコントロール(Inputmanを使用)を使用しているために、コンパイル後DataRepeaterがあるフォームを開くとInputmanのライセンスIDの入力を求められることが分かりました。
Hontai.vbpでDataRepeaterを介せずにControl.vbpにあるコントロール(Inputmanを使用)を貼り付けてテストをして見ると問題なく表示されました。
つまりControl.ocx単体では問題ないのですが、DateRepeaterを介してControl.vbpのユーザーコントロールを使用するとライセンスIDの入力を求められるということです。
どなたか情報をお持ちの方、どうかよろしくお願いいたします。
ツイート | ![]() |