- ベストアンサー
webでのコンポーネントの配布に関する調査結果と質問
- VB6.0で作成したコンポーネントをcabにアーカイブし、webで配布できるようにしたいが、クライアント側でインストールが行われない状態。質問について詳細な回答が見つからず、皆様のお力をお借りしたい。
- VB6.0で作成したコンポーネントをcabにアーカイブし、webで配布する際にクライアント側でインストールが行われない状況。回答が不足しているため、回答をお願いしたい。
- VB6.0で作成したコンポーネントをcabにアーカイブし、webで配布したいが、クライアント側でインストールができない状態。質問に回答がなく困っているため、皆様にご協力をお願いしたい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
CAB配布に関してはインターネット上で情報を探すの大変ですよね。私も経験しました。 「Downloaded Program Files」には、該当のプログラムが登録されていない ということから考えて、おそらく"ダウンロードはできたがインストールはできない"状態だと思います。 ディストリビューションウィザードを使用してCABに圧縮したものを、そのままIIS上のディレクトリに置いてるのであれば、一度INFファイルの内容を確認されてはいかがですか? ディストリビューションウィザードで作成したCABと同ディレクトリにSupportというフォルダがありますよね。そのなかの、○○○.INFというファイルをテキストエディターで開きます。 で、[Add.Code]というブロックに記述されているDLLやOCXの順序を確認します。ふつうMicrosoft社のモジュール類は先にインストールさせる必要があります。なぜならVB6などで作成したプログラムは、VBランタイムや各種DLLなどMicrosoftのモジュールがあって初めて動作するものが一般的だからです。依存関係を考えればわかるとおもいます。 [Add.Code]ブロックで記述された順序がインストール順序になるようです。 注意する点は、ブロックの一番下の行からインストールされるということです。ですので、[Add.Code]ブロックの最初の方に自作したEXE、DLLを記述、最後の方にMicrosoft社のモジュール類を記述します。 私も”「Downloaded Program Files」には、該当のプログラムが登録されていない”現象で苦しみました。その解決はINFファイルを知ることにありましたよ。 ちなみに、モジュールのインストール先はDestDirの値を変えることで対応できます。英語での資料はMSDN ライブラリをはじめいろいろあるようです。めげずに頑張って見てください。 インストールがどこでこけてるのかを調べるには、「Temporary Internet Files」にあるファイルで"?CodeDownloadErrorLog!."という文字列を含んだものを、IEのウィンドウにドラッグ&ドロップして表示して見てください。どこでだめだったかの情報があるはずです。
お礼
早速ご回答を頂き、ありがとうございました。 やはり、今まで苦労して調べていたにもかかわらず、初めて知る情報ばかりで、大変貴重なご意見です。 INFファイルについては、MSの技術文章にも記載されておりましたので、修正したりしていたのですが[Add.Code]の順番は関係ないと思って手をつけていませんでした。 修正したところ、インストールの順序は修正されたようですが、やはりエラーが発生してしまいました。。。。 教えていただいたログの内容をこちらに貼り付けておきます。 下記ログですと、「MSVCRT.DLL」でエラーが起こっているようですが、その原因というのがよく分かりませんね。 何かご存知でしたら、またご回答いただけるとありがたく思います。 こちらでも継続して調査を行います。 よろしくお願いいたします。 ※URL,CLSIDは化かしています ======ここから============================================ *** Code Download Log entry (18 Aug 2004 @ 17:37:27) *** Code Download Error: (hr = 800c0300) Unknown Error!! Operation failed. Detailed Information: CodeBase: http://....../....../********.CAB CLSID: {9C5B292D-CEC7-4D33-XXXXX-XXXXXXXXXX} Extension: Type: LOG: Item MSADO25.TLB being processed. --- Detailed Error Log Follows --- LOG: Download OnStopBinding called (hrStatus = 0 / hrResponseHdr = 0). LOG: Item MSADO25.TLB being processed. LOG: Item msxml4.dll being processed. LOG: Item SCRRUN.DLL being processed. LOG: Item MSVCRT.DLL being processed. ERR: INF Processing: Failed (800c0300) processing: MSVCRT.DLL . Cannot get primary/default language!LOG: URL Download Complete: hrStatus:0, hrOSB:800c0300, hrResponseHdr:0, URL:(http://....../....../********.CAB) LOG: Reporting Code Download Completion: (hr:800c0300 (FAILED), CLASSID: 9c5b292d..., szCODE:(http://....../....../********.CAB), MainType:(null), MainExt:(null)) ======ここまで============================================