转-不删除32位Office安装AccessDataEngine 64位版本
已有 37 次阅读2024-10-23 13:09
https://mp.weixin.qq.com/s/2Ltstohr4Rawdq_A1hu6bA
不删除32位Office安装AccessDataEngine 64位版本(共存)
小辣椒高效Office Office交流网
2024年10月23日 09:01 广东
一、Access database engine是什么
Access database engine是微软官方推出的一款功能强大的数据库引擎可再发型程序包,主要用于access数据库调用引擎,方便office系统文件和office应用程序之间的数据传输。
二、Access Database Engine软件特性
图片
Microsoft Access Database Engine 64位是微软Access数据库引擎的64位版本,是64位的Microsoft Office的一个组件,一些用到Access数据库的程序需要调用这个引擎,当者些程序需要调用Access数据库时,出现“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。”的弹窗提示时,可以通过安装这个引擎来解决。
判断是否已安装了:
在某些特殊场合我们可能要判断Access DataBase Engine是否安装(例如要建ODBC连接的时候)。我们可以通过检查注册表中是否有[HKEY_LOCAL_MACHINESOFTWAREClassesMicrosoft.ACE.ACERCLRC.14.0]来判断Access DataBase Engine是否安装
如果在64位下安装了32位的Access DataBase Engine则找[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeClassesMicrosoft.ACE.ACERCLRC.14.0]
三、Access Database Engine安装步骤
1、打开Microsoft官网,搜索Access Database Engine。
2、找到适合您系统的版本,下载安装程序。
3、运行安装程序,按照提示进行安装。
4、安装完成后,您可以在程序列表中找到Access Database Engine。
5、如果您需要在其他程序中使用Access Database Engine,您需要在程序中添加对Access Database Engine的引用。 注意:在安装Access Database Engine之前,您需要先安装Microsoft Office.
dotet应用程序使用ace注意事项打开你的.net应用程序配置文件 (应用程序名.config,web应用程序为web.config),设置数据库连接字符串的provide microsoft.ace.oledb.12.0,例如标准连接字符串为:"provider=microsoft.ace.oledb.12.0;data source=data.accdb;persist security info=false;" 如果你的pc是64bit的win8 pro 但是我office的程序是32bit的,所以我应当安装accessdatabaseengine.exe(32bit);再次运行程序,ok,数据库连接成功,一切正常。 注意:64位系统下一定要修改提供程序为microsoft.ace.oledb.12.0,而此时的文件名,可以是早期的mdb文件,也可以是新的accdb文件。 如果你虽然是64位系统 但是你的office是32位的,所以你只能安装32位的ace驱动,因此你的.net应用程序也只能发布成32位的,如果编译成anycpu版本,还是无法访问ace。
四、正常情况下,32位与64位Accessdatabaseengine无法同时安装
由于某些64位应用程序需要访问Access数据库,而访问数据库须使用AccessDataEngine即Access数据库引擎64位。而正常情况下,如果有32位Office安装在系统中,AccessDataEngine64位将会提示无法安装,如图:
图片
或出现英文的错误提示
图片
五、如何不删除32位Office安装AccessDataEngine 64位版本
解决方法:
打开控制台cmd 【开始菜单--所有程序—附件—“命令提示符号”】使用命令行参数运行
找到64位Access数据引擎的目录, D:accessDataEngine下。
输入 :AccessDatabaseEngine_x64.exe /passive 运行即可
加入了[/passive]参数后,64位Access数据引擎安装就不再检查32位Office是否已安装,而可直接安装。
第二种解决办法:
要安装64位Access数据库引擎与32位Office,请执行以下操作:
打开注册表编辑器(在Windows的“开始”菜单下的搜索框中键入regedit,然后选择regedit.exe)。
转到注册表项:
对于MS Database Engine 2010:HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice.0CommonFilesPaths
对于MS Database Engine 2016:HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice.0CommonFilesPaths
检查值mso.dll是否存在。如果计算机上安装了Microsoft Office 64位,则会出现此注册表项值。如果键不存在,请执行以下步骤:
在Windows搜索框的“开始”菜单下键入cmd,然后选择cmd.exe,打开命令提示
键入64位Access Database Engine 2010或2016安装文件的文件路径和文件名,后跟空格和/quiet(这将运行安装,而不显示任何消息)。
例如:
AccessDatabaseEngine_x64.exe /quiet
图片
在Windows搜索框的“开始”菜单下键入regedit,然后选择regedit.exe,打开注册表编辑器
删除或重命名以下注册表项中的mso.dll注册表值:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice.0CommonFilesPaths
HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice.0CommonFilesPaths
图片
注意:
如果未删除“mso.dll”注册表值,则每次打开Office程序时,都会显示“重新配置”消息。
此解决方法可能是临时的,因为Microsoft会使用Windows更新推送Office及其组件的更新。鉴于64位Autodesk软件与Office 32位组件不兼容,永久解决方案是将Autodesk 64位软件与Office 64位软件一起安装。
六、最终解决办法
如果windows 及Office自动更新,上面的解决办法 有可能还会出现问题,最终办法还是建议如果没有绝对必要,还是只安装32位或只安装64位 AccessDatabaseEngine (如果有Office,也最好对应相同的版本),避免有冲突。
阅读 39