DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Spreadを使用してのActiveXコントロールの配布について

環境/言語:[環境(Windows2000 Pro)、言語(VB6)、Spread6.0J]
分類:[VB6以前]

初めまして、宜しく御願い致します。

Windows2000 Pro、VB6でSpread6.0を使用してActiveXコントロールを作成しています。
★使用しているOCX → SPR32X60.OCX vaSpread/vaSpreadPreviewコントロール(DAO版)

あるパッケージソフトへ作成したActiveXコントロールのインストーラを作成し、
カスタマイズモジュールとしてインストールすると、そのパッケージソフトの方で
実行してくれて画面に出てくるということを行っているのですが、
自端末では正常にパッケージソフトの方で作成したocxを認識して表示してくれる
のですが、ユーザ端末(他端末)に作成したインストーラを実行してインストール
しても認識してくれません。
※Spreadを使用しなければ、正常に認識してくれます。

行っていることは、
1.VB6の画面の[プロジェクト]-[プロパティ]画面の"ライセンスキーを要求する"
にチェックを入れ、コンパイルしてocxを作成する。
2.一緒に作成されたvblファイルに記述されている
HKEY_CLASSES_ROOT\Licenses\111111 = xxxxxxxxxxxxxxxxxxxxxxxxxxx
をユーザ端末にも設定する。
3.ユーザ端末に自分で作成したocx、SPR32X60.ocx、SS60PP.DLLをレジストする。
です。

ライセンス情報のレジストが足りない等、ご存知の方がいらっしゃれば
ご教授を御願い致します。
※ちなみにユーザ端末へのインストーラは
Inno Setup(Windowsのプログラムのための、フリーのインストーラ)を使って
インストーラを作成しています。このツールにより作成したインストーラ内で
ユーザ端末へのレジストは行っております。

宜しく御願いいたいます。
scotteさん、こんにちは

Spreadのことはわかりませんが、考えられる原因としては2つかと思います。

・レジストリ登録が正しく行われていない
  コマンドプロンプト等で
  regsvr32 "ocxのフルパス"
 を実行して、正常登録されたらアプリ起動してみてください。

・ファイルが不足している
 VisualStudio付属のDependency Walker等で各OCX,DLLで使用されているDLLを
 確認し、インストーラに含まれているか確認してください。
■No6922に返信(ゆさんの記事)
> scotteさん、こんにちは
>
> Spreadのことはわかりませんが、考えられる原因としては2つかと思います。
>
> ・レジストリ登録が正しく行われていない
>   コマンドプロンプト等で
>   regsvr32 "ocxのフルパス"
>  を実行して、正常登録されたらアプリ起動してみてください。
>
> ・ファイルが不足している
>  VisualStudio付属のDependency Walker等で各OCX,DLLで使用されているDLLを
>  確認し、インストーラに含まれているか確認してください。
>

ゆさん、返信いただきまして大変有難うございます。
最初の
regsvr32 "ocxのフルパス"
を実行しアプリ起動を行いましたがだめでした。
次のファイルが不足しているというのもDependency Walkerにて確認いたしましたが
含まれていました。
ん〜って感じです。
scotteさん、こんにちは
> 最初の
> regsvr32 "ocxのフルパス"
> を実行しアプリ起動を行いましたがだめでした。
> 次のファイルが不足しているというのもDependency Walkerにて確認いたしましたが
> 含まれていました。
> ん〜って感じです。
あらら、だめでしたか^^;
となるとあとはクライアントのユーザ権限がAdmin以外でインストールしているとかでしょうか?
あと思いつくのはMFC42.DLL、MSVCRT.DLLのバージョン違いとかでしょうか?

ところで
>★使用しているOCX → SPR32X60.OCX vaSpread/vaSpreadPreviewコントロール(DAO版)
このOCXを使った通常のVBアプリを作って、それがクライアントで正常に動作するかを確認してみると原因解明に近づきそうですね。
それで動いてしまうと、本当に[ん〜」って感じですね^^;
■No6941に返信(ゆさんの記事)
> scotteさん、こんにちは
>>最初の
>> regsvr32 "ocxのフルパス"
>>を実行しアプリ起動を行いましたがだめでした。
>>次のファイルが不足しているというのもDependency Walkerにて確認いたしましたが
>>含まれていました。
>>ん〜って感じです。
> あらら、だめでしたか^^;
> となるとあとはクライアントのユーザ権限がAdmin以外でインストールしているとかでしょうか?
> あと思いつくのはMFC42.DLL、MSVCRT.DLLのバージョン違いとかでしょうか?
>
早急に大変ありがとうございます。
上記は問題ないですね。。。

> ところで
> >★使用しているOCX → SPR32X60.OCX vaSpread/vaSpreadPreviewコントロール(DAO版)
> このOCXを使った通常のVBアプリを作って、それがクライアントで正常に動作するかを確認してみると原因解明に近づきそうですね。
> それで動いてしまうと、本当に[ん〜」って感じですね^^;
>
試してみたところ、動いてしまいました。。
ん〜、もうちょっと悩んでみます。

DOBON.NET | プログラミング道 | プログラミング掲示板