做的程序使用了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呢?