VB6.0でAccess2000のmdbをDAOデータコントロールで使用するアプリケーションを配布したところ、同じXPのPCでも下記のエラーが出るPCがありました。(正常に動作するPCもあります。)
エラーメッセージ
「次のクラスは登録されていません。次のCLSIDのオブジェクトを参照してくださ
い。:{00000010-0000-0010-8000-00AA006D2EA4}」
調べたところこのメッセージはDAO350.dllを参照しているとのこと、配布したAPは「Microsoft DAO 3.6 Object Library」を参照設定してdao360.dllを配布して
おります。(実際XPにはdao360.dllは標準で装備されていますが)何故DAO3.5を参照しようとするのか分かりません。
どなたか分かる方がいらっしゃいましたら、ご教示願います。
SP4以前の データコントロールは、DAO 3.5 が利用されていますので、
念のため、作成したインストーラに、SP6 の再頒布モジュールが
含まれているかをチェックしてみては如何でしょう。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200506/05060024.txt
ご教示ありがとうございます。
仰る通りです。VB6.0のSP6で開発しましたが、VSIで作成したインストーラでは古いSP5の時のままでした。マージモジュールを最新にしておりませんでした。
VSIではバージョンが異なる様なメッセージが出ていたのですが・・・。
もちろん最新のインストーラを作成してすぐにでも再配布しなければならないのですが、うちのXPのマシンではこの現象が出ないのです。(もちろんVBの環境もACCESSの環境も無いPCです。)
この現象の原因が配布モジュールのバージョンだと確認するためには、最新のランタイムモジュールをVector等からインストールしてもらえば確認できますでしょうか?お忙しいとは思いますが、よろしくお願いします。
解決しました。
新しいインストーラーを配布しても、Vectorから最新のランタイムモジュールをインストールしてもダメでしたが、「VB6JP.DLL」を手動で入れ替えてもらったら、正常に動作できました。
たぶん、「VB6JP.DLL」が古かったと思います。
何故、インストーラーで新しくならないのかは分かりませんが、以前にもエラー現象は異なりますが同じ方法で解決した事があります。何か過去にインストールした古いソフトが原因かなとも思います。
すっきりしませんが、解決してほっとしています。
魔界の仮面弁士さんありがとうございました。
ツイート | ![]() |