如何检测是否安装了AccessDataBaseEngine

happlygong 2015-02-02 09:15:58
做的程序使用了Access 2010版的数据库,扩展名为.accdb。数据访问使用"Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password = 'Pass'"。在没有安装Access的电脑上运行会有“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”和“未找到提供程序。该程序可能未正确安装。”等提示。
开始的做法是检查注册表中
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb, *.accdb)]
"UsageCount"=dword:00000003
"Driver"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEODBC.DLL"
"Setup"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEODBC.DLL"
"APILevel"="1"
"ConnectFunctions"="YYN"
"DriverODBCVer"="02.50"
"FileUsage"="2"
"FileExtns"="*.mdb,*.accdb"
"SQLLevel"="0"
是否有这些值,如果有这些值判断为已经安装了AccessDatabaseEngine,如果没有则安装AccessDatabaseEngine。
但是现在在一台卸载了Office的电脑上安装运行时,失灵了。检查注册表发现那些值都在。
怎么才能正确判断是否安装了AccessDatabaseEngine呢?
...全文
3391 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tzlaoliu 2015-02-03
  • 打赏
  • 举报
回复
一般安装程序都支持内嵌程序吧 比如inno一样可以写Delphi代码 在里面直接调用,捕捉错误 我个人觉得不用费劲检测,调用出错就视为没装
happlygong 2015-02-03
  • 打赏
  • 举报
回复
是想在程序安装的时候就检测出来,安装程序来处理。
tzlaoliu 2015-02-03
  • 打赏
  • 举报
回复
干嘛要检测呢 管它有没有装这个,直接用就是 报错就try捕捉,报错了不就证明没装么 前提是你处理好你的链接串在任何情况下都是好的 那么报错就是没装咯
1,01.zipCalling Stored Procedures调用存储过程(8KB)2,02.zipCreate Access data source name dynamically动态创建Access的数据源名(5KB)3,03.zipUsing DAO to read data sources other than MS Access使用DAO读MS Access以外的数据源(6KB)4,04.zipHow to use RecordSets without using the AppWizard at the creation of your project不用AppWizard如何使用RecordSets(11KB)5,05.zipDetermine if DAO Jet engine version 3.5 is installed检测DAO Jet引擎3.5版是否安装(5KB)6,06.zipClasses for direct SQL calls with ODBC在direct SQL类中调用ODBC(5KB)7,07.zipUsefull addons to CDaoTableDef关于CDaoTableDef的话题(4KB)8,08.zipThe Generic Recordset普通的数据集(Recordset)(5KB)09,09.zipPrint Mailing Labels打印邮件标签(8KB)10,10.zipRFX_Date alternative关于RFX_Date(4KB)11,11.zipRFX_Date using COleDateTime使用COleDateTime(6KB)12,12.zipSample Database Program Using Dialog Interface基于对话框的数据库编程(11KB)13,13.zipStoring "Paint Brush" images in a Access DB在Access DB中存储画笔图象(5KB)14,14.zipA class to call stored procedures that do not return records一个调用存储过程的类(6KB)15,15.zipTips: ODBC & Access databaseODBC和Access数据库的使用技巧(5KB)16,16.zipUsing DBGrid in unbound mode在unbound模式下使用DBGrid(6KB)17,ADORsWizard.zipADO Data Bound Class Wizard(39KB)18,ISQLADO.zipA tool that allows you to query OLE DB sources(612KB)19,oledb-1.zipADO seems to be the ideal way to expose tabular data from your own COM objects and the ATL OLE DB Provider templates can help! (41KB)20,oledb-2-1.zipThe ATL OLE DB Provider templates appear to rely on the fact that your data is kept in a simple array, but that's not really the case at all! (42KB)21,oledb-3.zipAdding bookmark functionality is relatively easy and it enables our ADO recordset to be used with a greater number of data bound controls. (52KB)

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧