プロが教えるわが家の防犯対策術!

VBからAccessのMDBを操作するアプリケーションを作り、Visual Studio Installerでインストーラを作成しました。
そのパッケージをWin98SEをインストールしたてのマシンにMDAC 2.7をインストールし、作ったパッケージからアプリケーションをインストールしたところ、実行時に
実行時エラー '429':
ActiveXコンポーネントはオブジェクトを作成できません。
とエラーが出ます。

試しにテーブルを開き、1件目のデータを読み取るだけの簡単なプログラムを作り、対象のマシンで動作させてみても結果は同じです。

MDACのインストールだけではだめなんでしょうか。
作成したアプリケーションは配布したいので、コントロールパネルを変更するなどの手間はかけたくないのです。
アプリケーションのインストールだけで環境ができるのが理想ですが、何か言い方法はないでしょうか。

ちなみにためしで作った簡単なプログラムのコードを記述します。

----------------------------
Private Sub Form_Load()
Dim mydb As DAO.Database
Dim rs As Recordset

Set mydb = OpenDatabase(".\tellist.mdb")
Set rs = mydb.OpenRecordset("SELECT Count_TBL.* FROM Count_TBL")
Text1.Text = rs!telno
rs.Close
mydb.Close
End Sub
----------------------------
よろしくお願いします。

A 回答 (3件)

ドライバのせいかな?


もしAccessをその98マシンにインストールしてできたのなら、ドライバのせいだと思います。(もちろん開発環境と同じバージョンのAccessです)

今までADO2.6を使用して、Accessの入っていないPCのMDBをやったことはあります。
DAOではAccessの入っていないPCは、私は未経験です。
ですので、全て推測です。

参考URLより抜粋
概要
MDAC 2.7 SP1 の再配布可能インストーラーは、Microsoft Windows XP SP1 と同じ Data Access コア コンポーネントをインストールします。このリリースには、Microsoft Jet、Microsoft Jet OLE DB Provider、Desktop Database Drivers ODBC Driver、Visual FoxPro ODBC Driver は含まれていません。

参考URL:http://www.microsoft.com/downloads/details.aspx? …
    • good
    • 0
この回答へのお礼

ありがとうございます。
インストーラの設定でなんとかなりました。

お礼日時:2003/03/29 17:34

なるほど、、



GUIDをレジストリに書いてなかったのですね。。。

面倒でもこまめにGUIDを書いていかないと、毎回手作業でのレジストリ登録が必要になります。
    • good
    • 0
この回答へのお礼

お礼が遅くなり、申し訳ありませんでした。
何とかできました。ありがとうございました。

お礼日時:2003/04/13 03:54

インストーラ作ったことがないんで、よくわかりませんが、再配布パッケージにDAOを含めてみてはどうでしょうか?


ファイルがあるのに動かない、ということなら、

RegSvr32 "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll"

でどうでしょう?(^^;
(パスは、実際の環境に即して読み替えてください)
    • good
    • 0
この回答へのお礼

ありがとうございます。
インストーラにはvb5db.dllとdao360.dllは登録されているのですが、ターゲットマシンにはインストールされていないようです。
コピーしてRegSvr32を実行するとできました。
なぜインストールされないのか不明です。

お礼日時:2003/03/29 17:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!