VB6.0でデータベース(SQLSERVER7.0)をアクセスする
プログラムを作りました。
そのプログラムをVB6.0が
インストールしていない他のパソコンでも
動かしたいので
ディストリビューション ウィザードで
setup.exeを作り
他のパソコンにセットアップしようとしたら
「ファイルC:\WINNT\SYSTEM32\msado21.tlbの
登録中にエラーが発生しました」と
表示されセットアップできません。
なおセットアップのログファイルを見ると
エラーC:\WINNT\SYSTEM32\msado21.tlb中に
DLLRegisterSerer()のエントリポイントが
見つかりません。
次の処理中:DllSelfRegister:
"C:\WINNT\SYSTEM32\msado21.tlb"
とありました。
セットアップでき、実行できるようにするには
どのようにしたら良いですか?
もちろんexeファイルをコピーし
他のパソコンにいれても実行されません。
エラーメッセージは
実行時エラー430
クラスはオートメーションまたは予測したインターフエースをサポートして
いません
No.2ベストアンサー
- 回答日時:
下記のページを参考にして、setup.lstのmsado21.tlbの行を変更して試してみてください。
http://www.accessclub.jp/bbs/0007/beginers3132.h …
また、別の可能性として、NT4.0のSPによる可能性もあります。
MDACのバージョン(=ADOのバージョン)によっては、NT4.0の場合SPのいくつか以上が必要とされる場合があります。
ちなみに、MDACとは、ADOを使用出来るようにするための環境です。
バージョンは、参照設定で選択している「Microsoft ActiveX Data Objects *.* Library」で確認出来ます。
ところで、VB付属のディストリビューションウィザードではMDACのインストーラーを添付してくれます。
その点は、ご安心下さい。
ただし、MDACのバージョンが2.1より後のバージョンの場合手動でインストーラーを含めなければなりません。
最新のMDACのインストーラーでしたら、下記からダウンロード出来ます。
Ver2.5
http://www.microsoft.com/downloads/details.aspx? …
Ver2.8
http://www.microsoft.com/downloads/details.aspx? …
他のバージョンもマイクロソフトのHPから検索すれば見つかります。
No.1
- 回答日時:
実行させるOSがどれかも重要なのだが、このエラーはADO、まぁMDACのバージョンによるものだ。
ディストリビューションウィーザード(←ちなみに私はほとんど使った事がない。理由は全く信用ならないからだ。)では恐らくMDACは含んでくれないだろう。ちなみに、「msado21.tlbファイルが壊れてるのか!?」と思うかも知れないが、恐らくこれはさらにその先、つまりmsado21.tlbが参照するファイル(DLLなど)が無いために発生しているのだと推測される。これは、ディストリウィズはVBで作ったEXEが参照しているライブラリは探すが、再帰的にそのライブラリが参照するライブラリを探す事をサボるために起こっているのだと思う(よくサボるらしい)。できればInstall Shieldなどで適切に必要なファイルを含めてあげる方が良いだろう。という事で、実行させるパソコンに持っていく時は、マイクロソフトからダウンロードできるMDACの2.5、2.6、2.7、2.8のどれかを一緒に持っていって、先にMDACを入れてあげると良い。
おそらく実行マシンはOSが95かNT4なのではないかな。98はADO2.1が最初から入っている気がする(気がするだけ)。
後、SQL Server 7.0に接続するにも、ADOの2.5(できれば2.6以上)を使った方が今後のためにも良いと思うのだが、理由があるなら2.1でも仕方が無いだろう。Visual BasicのIDEを開いた時に、参照設定で切り替える事ができる。
長々と書いたが、解決方法はMDACをもっていってあげるかなんとかして、自前で先にADOコンポーネントを入れておいてあげよう。
この回答への補足
実行させるOSはNT4.0です。
MDACとは何ですか?
どこにあるのですか?
(URLなどあったら教えてください。)
教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 どうしたらパソコンに詳しくなれる?? 5 2022/04/04 19:09
- iOS HDD交換修理したWindows10・PCのOFFICE プロダクトキーがエラーとなる 2 2023/04/01 02:17
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- Windows 10 Windows10のアップデートがうまく行きません。先日も同じ質問をさせて頂いたのですが、バージョン 3 2022/06/23 14:16
- その他(OS) CloudreadyでLinuxのセットアップが出来無い 1 2022/04/06 12:36
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Windows 10 別ユーザーでログインした際、表示されないのソフトの探し方 1 2022/07/15 10:26
- デスクトップパソコン USB接続のマイクについて 6 2022/09/18 07:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「パス名が無効です」の発生原因
-
PowerShellを使って関連付けら...
-
gccを行ってもexeファイルが生...
-
VBでファイルが開かれているか...
-
すでにファイルが開かれている...
-
ファイルクローズ(fclose)でエ...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
Excel VBA でFunctionが呼び出...
-
VBAでDLLが見つからないエラー
-
Access2010 コンパイルエラー...
-
NAS上のファイルの使用中が解除...
-
fgets関数のEOFの扱い方について
-
VB6 Dir関数で52エラー発生
-
htaからExcelファイルを作成す...
-
fcloseで発生するエラーについて。
-
freadでデータがない場合の読込...
-
ADOを使用してExcelファイルを...
-
VB:「実行時エラー53 実行ファ...
-
FTPの送信結果を検知したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
VBでファイルが開かれているか...
-
「パス名が無効です」の発生原因
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
PowerShellを使って関連付けら...
-
アクセスのクエリでコンパイル...
-
VB6 Dir関数で52エラー発生
-
FTPの送信結果を検知したい
-
NAS上のファイルの使用中が解除...
-
VBA ExecuteExcel4Macro 型が一...
-
access テキストボックスの値取得
-
EXCELのVBAでWORDが開いてある...
-
すでにファイルが開かれている...
-
EXCELVBAでONEDRIVE上への保管...
-
Excelファイルのマクロによる排...
-
OUTLOOK VBA 指定フォルダ内の...
-
エクセルマクロでエラーの原因...
-
RAR圧縮ファイル(分割)の順番が...
おすすめ情報