
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
----------------------------
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
ドライバのせいかな?
もし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? …
No.3
- 回答日時:
なるほど、、
GUIDをレジストリに書いてなかったのですね。。。
面倒でもこまめにGUIDを書いていかないと、毎回手作業でのレジストリ登録が必要になります。
No.1
- 回答日時:
インストーラ作ったことがないんで、よくわかりませんが、再配布パッケージにDAOを含めてみてはどうでしょうか?
ファイルがあるのに動かない、ということなら、
RegSvr32 "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll"
でどうでしょう?(^^;
(パスは、実際の環境に即して読み替えてください)
ありがとうございます。
インストーラにはvb5db.dllとdao360.dllは登録されているのですが、ターゲットマシンにはインストールされていないようです。
コピーしてRegSvr32を実行するとできました。
なぜインストールされないのか不明です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでArrayListを使う為の「msc...
-
VB6で作成したアプリを配布する...
-
VB.NETでSPREADの設定方法
-
VB.NET(2017)で インストーラを...
-
Product Codeの変更法は?
-
C#2010 webBrowserについて
-
VBでAccessのMDBを参照する環境...
-
[VB.net] ExcelへのQRコード出...
-
Excel 12.0とExcel 10.0両方を...
-
VB6.0で作成したexeファイルが...
-
インストール不要アプリケーシ...
-
ListViewで文字化けしてしまい...
-
発行元:不明???
-
意味不明の実行時エラーで困っ...
-
Designer.vbは直接コードをいじ...
-
オブジェクト(dll)のレジストリ...
-
ACCESSランタイムでエラー
-
C#ソースをCSCファイルにてコン...
-
VBAでコマンドプロンプトを呼び...
-
ACCESSで設定した帳票の用紙サ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでArrayListを使う為の「msc...
-
[VB.net] ExcelへのQRコード出...
-
VB.NETでSPREADの設定方法
-
VB6(SP5)+OO4OでCreateObjectが...
-
う~ん…。
-
VB6で作成したアプリを配布する...
-
発行元:不明???
-
Product Codeの変更法は?
-
VB6.0で作成したexeファイルが...
-
VB.NET(2017)で インストーラを...
-
accessがインストールされてい...
-
次のクラスは登録されていませ...
-
Excelがインストールされてない...
-
VB.NET で作られたソフト...
-
ExcelCreatorについて
-
■C#でブラウザを作成すること...
-
ビルドした.exeファイルは.NE...
-
JWCADwでRubyは必要...
-
6.0から2005へのアップグレード
-
VB6のアプリケーションの配布
おすすめ情報