具有Office 64位的MS Access DB引擎(32位) [英] MS Access DB Engine (32-bit) with Office 64-bit

查看:215
本文介绍了具有Office 64位的MS Access DB引擎(32位)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们当前在使用Microsoft Access Database Engine 2010时遇到一个重大问题。该引擎有64位和32位形式,这很好。但是,如果主机进程始终是32位,则显然您需要始终安装32位版本。很好,我们可以做到。

We currently have a major issue using Microsoft Access Database Engine 2010. The engine comes in 64-bit and 32-bit forms, which is good. However, apparently you need to always install the 32-bit version if the host process is always 32-bit. Fine, we can do this.

我们的软件处理许多32位的旧组件,其中大部分是VB6代码,可生成32-钻头组装。因此,我们假设驱动程序也必须安装为32位。确实,当我们在64位计算机上安装32位驱动程序并运行我们的32位应用程序时,它可以正常工作。

Our software deals with a lot of legacy components that are 32-bit, and much of it is in VB6 code, which generates 32-bit assembly. So, we are under the assumption that the driver must also be installed as 32-bit. Indeed, when we install 32-bit drivers on a 64-bit machine, and run our 32-bit applications, it works correctly.

但是,问题开始于Office系统上安装了2010 64位。相信我,我们试图教育用户说64位Office在很大程度上是不必要的,无济于事。由于计算机在出厂时已安装64位版本,因此当我们的软件出现问题时,我们将无法跟上支持要求。 64位Office中断了我们的安装,或者我们的安装中断了其Office版本,但这两种方法都不尽相同。另一个问题是,非传统软件有时会安装64位驱动程序(应按原样安装),而这两个版本根本就不会以任何合理的方式共存。是不是我们的软件中断,就是他们的软件中断。

However, the problem begins when Office 2010 64-bit is installed on the system. Trust me, we've tried to educate users that 64-bit Office is largely unnecessary, to no avail. As computers come off the assembly line with 64-bit versions installed, we're unable to keep up with support requests when our software breaks something. Either the 64-bit Office breaks our installation, or our installation breaks their Office version, but it's not pretty either way. A further issue is that non-legacy software will sometimes install the 64-bit drivers (as they should), and the two versions simply do not coexist in any reasonable manner. Either our software breaks, or their software breaks.

那么,有没有人设法找到一种使32位驱动程序与64位安装共存的方法?我已经看到使用 / passive 标志进行安装允许同时安装两者,并且我们的安装程序确实使用了被动。两者都已安装,但是一旦在系统上要么我们的软件不再起作用,要么Office不断修复其安装。有什么合理的方法可以完成这项工作?

So, has anybody managed to find a way to make the 32-bit drivers coexist with 64-bit installations? I have seen that installing with /passive flag allows the two to be installed, and our installer does use passive. Both are being installed, but once on the system either our software no longer works, or Office constantly repairs its installation. Is there any reasonable way to make this work?

推荐答案

我讨厌回答我自己的问题,但是我终于找到了解决方案实际可行(在服务之间使用套接字通信可能会解决此问题,但会带来更多问题)。由于我们的数据库是旧数据库,因此只需要连接字符串中的 Microsoft.ACE.OLEDB.12.0 。事实证明,这也包含在Office 2007(和MSDE 2007)中,那里只有32位版本可用。因此,我们不是安装32位MSDE 2010,而是安装MSDE 2007 ,效果很好。然后其他应用程序可以安装64位MSDE 2010(或64位Office 2010),它与我们的应用程序没有冲突。

I hate to answer my own questions, but I did finally find a solution that actually works (using socket communication between services may fix the problem, but it creates even more problems). Since our database is legacy, it merely required Microsoft.ACE.OLEDB.12.0 in the connection string. It turns out that this was also included in Office 2007 (and MSDE 2007), where there is only a 32-bit version available. So, instead of installing MSDE 2010 32-bit, we install MSDE 2007, and it works just fine. Other applications can then install 64-bit MSDE 2010 (or 64-bit Office 2010), and it does not conflict with our application.

到目前为止,看来这是适用于所有Windows操作系统环境的解决方案。

Thus far, it appears this is an acceptable solution for all Windows OS environments.

这篇关于具有Office 64位的MS Access DB引擎(32位)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆