Microsoft ACE OLE DB 12.0 未在本地计算机上注册 - 但它是

Microsoft ACE OLE DB 12.0 is not registered on the local machine - But it is

我知道这是一个常见的错误消息,修复通常是安装 this download,但是,我的最终用户已经这样做了。

我有 2 个此程序的最终用户,除了我自己。我有一台 64 位 Windows 10 PC,第一个最终用户也有一台 64 位 Windows 10 PC。这位用户遇到了没有安装 Ole DB 12.0 的问题,所以我将 link 发给了他们,哇哦,谢谢女士,问题已经解决了。

但是第二个最终用户是运行 64位Windows 7 PC - 我发送他完全一样 link,并且他已经安装了它(或者他说),但错误仍在发生......它是否与 Windows 7 不兼容,尽管下载中的详细信息说这是?

还有其他可能导致此问题的原因吗?

程序正在尝试使用以下连接路径从 Excel 导入到 Access;

If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
    txtFile.Text = ofd.FileName

    fi = New FileInfo(ofd.FileName)
    fileName = ofd.FileName

    excel = fi.FullName

    eCon = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & excel & ";Extended Properties=Excel 10.0;")
    eCon.Open()

答案很奇怪。

尽管用户已正确安装引擎,但它仍然无法正常工作。我在 Control Panel 中查看了他们的 Programs and Features,唯一的区别是他们缺少 Access Engine.

的 2007 版本

已安装,已修复。不知道为什么,但万一其他人发生这种情况,值得检查一下!

这是因为您的应用程序是为 x86 CPU 而不是 x64 编译的。因此,您的应用正在寻找 32 位版本的驱动程序,而不是安装的 x64 位版本。当您安装了 32 位的应用程序时,您的应用程序就可以运行了。我一直都知道这个。