OS:Win2000
DB:Oracle 10.2
VB6+InputMan6.5J+CrystalReports XI
で開発をしています。
VisualStudioInstallerでインストーラを作成し、
OracleクライアントとOffice以外なにもはいってない
XPのPCにインストールしましたが、
インストールは正常に終了しますが、EXEを実行すると
「コンポーネント'TEXT60.ocx、またはその依存関係のひとつが適切に登録されていません。ファイルが存在しないか、あるいは不正です。」
とエラーになってしまいます。
DLL、OCX等はWindowsのシステムフォルダにちゃんと入っているのですが
なにか設定が足りていないのでしょうか?
レジストリ登録等なにかインストーラ作成時に
手動で行う必要があるのでしょうか?
インストーラを作ったと言われていますが、それはただ単に
ファイルを所定のところにコピーすると言う動作だけなので
は?
レジストリ登録が必要なファイル(DLLやOCX等)が、コピー
後、レジストリ登録を行うと言う動作が抜けているはずです。
VisualStudioInstallerでもできたはずかと・・・
以上。
返信ありがとうございます。
普段はディストリビューションウィザードを使ってインストーラを作っているため、VisualStudioInstallerには詳しくありません。。。
(今回VisualStudioInstallerにした理由は
CrsystalReporsのマージファイルをインストーラに組み込むためです。)
ディストリビューションウィザードではVBPを指定すれば、
レジストリ登録等は手動でする必要はなく、イマイチそこを理解していないのも問題ではあるのですが。。。
そもそもVisualStudioInstallerではレジストリ登録は手動で行うものなのでしょうか?
ディストリビューションウィザードで指定したプロジェクトに
含まれるActiveXは正しくレジストレーションされたはずです
が、因果関係のある他のファイルが無い為、動作しない。また
はレジストラが成功していないのではないでしょうか?
ActiveX OCX,DLL は、他のDLLを必要する場合も当然ありますが
ディストリビューションウィザードはそこまで面倒みてくれな
かったはずです。
不足しているファイルを手動で追加し、再作成すれば、動作する
とは思います。
不足しているファイルを探すには・・・
DependencyWalkerを使います。VC関係がインストールされてな
かったらインストールされなかったと思います。
DependencyWalkerで、OCX等を見てやれば、必要な他のDLLが判明
しますので、お試し下さい。
以上。
返信ありがとうございます。
DependencyWalkerを必死で調べましたが、
使い方がよく分かりません。。。
この一覧にでてくるDLLがインストールされているかということでしょうか?
この一覧にInputManは見当たらないのですが。。。
DependencyWalker に、InputManのOCXをドラッグアンドドロップ
してみて下さい。
それで解ると思いますが・・・
以上。
VisualStudioInstallerのプロジェクトを新しく作り直し、
imshare6.dllのRegisterを「1-vsifrSelfReg」にしたところ
うまくいきました。
オショウさまどぅもありがとうございました。
ツイート | ![]() |