MS Access DB Engine (32-bit) with Office 64-bit

后端 未结 7 1892
别跟我提以往
别跟我提以往 2020-12-13 12:36

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 alwa

相关标签:
7条回答
  • A similar approach to @Peter Coppins answer. This, I think, is a bit easier and doesn't require the use of the Orca utility:

    1. Check the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths" registry key and make sure the value "mso.dll" is NOT present. If it is present, then Office 64-bit seems to be installed and you should not need this workaround.

    2. Download the Microsoft Access Database Engine 2010 Redistributable.

    3. From the command line, run: AccessDatabaseEngine_x64.exe /passive

    (Note: this installer silently crashed or failed for me, so I unzipped the components and ran: AceRedist.msi /passive and that installed fine. Maybe a Windows 10 thing.)

    1. Delete or rename the "mso.dll" value in the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths" key.

    Source: How to install 64-bit Microsoft Database Drivers alongside 32-bit Microsoft Office

    0 讨论(0)
  • 2020-12-13 13:19

    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.

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

    0 讨论(0)
  • 2020-12-13 13:22

    Here's a workaround for installing the 64-bit version of the Microsoft Access Database Engine 2010 redistributable on a system with a 32-bit MS Office version installed:

    • Check the 64-bit registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths" before installing the 64-bit version of the Microsoft Access Database Engine 2010 redistributable.
    • If it does not contain the "mso.dll" registry value, then you will need to rename or delete the value after installing the 64-bit version of the Microsoft Access Database Engine 2010 redistributable on a system with a 32-bit version of MS Office installed.
    • Use the "/passive" command line parameter to install the redistributable, e.g. "C:\directory path\AccessDatabaseEngine_x64.exe" /passive
    • Delete or rename the "mso.dll" registry value, which contains the path to the 64-bit version of MSO.DLL (and should not be used by 32-bit MS Office versions).

    Now you can start a 32-bit MS Office application without the "re-configuring" issue. Note that the "mso.dll" registry value will already be present if a 64-bit version of MS Office is installed. In this case the value should not be deleted or renamed.

    Also if you do not want to use the "/passive" command line parameter you can edit the AceRedist.msi file to remove the MS Office architecture check:

    • download and install Microsoft Orca: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx
    • unzip the AccessDatabaseEngine.exe or AccessDatabaseEngine_x64.exe file
    • open the AceRedist.msi file in Orca
    • search for two table rows containing the "CheckOfficeArchitecture" action and drop these rows
    • save the updated AceRedist.msi file

    You can now use this file to install the Microsoft Access Database Engine 2010 redistributable on a system where a "conflicting" version of MS Office is installed (e.g. 64-bit version on system with 32-bit MS Office version) Make sure that you rename the "mso.dll" registry value as explained above (if needed).

    0 讨论(0)
  • 2020-12-13 13:24

    I had a more specifc error message that stated to remove 'Office 16 Click-to-Run Extensibility Component'

    I fixed it by following the steps in https://www.tecklyfe.com/fix-for-microsoft-office-setup-error-please-uninstall-all-32-bit-office-programs-office-15-click-to-run-extensibility-component/

    • Go to Start > Run (or Winkey + R)
    • Type “installer” (that opens the %windir%installer folder), make sure all files are visible in Windows (Folder Settings)
    • Add the column “Subject” (and make it at least 400 pixels wide) – Right click on the column headers, click More, then find Subject
    • Sort on the Subject column and scroll down until you locate the name mentioned in your error screen (“Office 16 Click-to-Run Extensibility Component”)
    • Right click the MSI and choose uninstall
    0 讨论(0)
  • 2020-12-13 13:27

    Even tried all suggestions, in my case (Office x64 - Visual Studio 2017), the only way to have both access engines on a Office 64x installation so you can use it on Visual Studio and using a 2016+ version of Office, is to install the 2010 version of the Engine.

    First install the x64 from this page

    https://www.microsoft.com/en-us/download/details.aspx?id=54920

    and then the x86 version from this one

    https://www.microsoft.com/en-us/download/details.aspx?id=13255

    as from this blog: http://dinesql.blogspot.com/2017/10/microsoft-access-database-engine-2016-Redistributable-Setup-you-cannot-install-the-32-bit-version-You-cannot-install-the-64-bit-version.html

    0 讨论(0)
  • 2020-12-13 13:31

    If both versions of Microsoft Access Database Engine 2010 can't coexists, then your only solution is to complain to Microsoft, regarding loading 64 bits versions of this in your 32 bits app is impossible directly, what you can do is a service that runs in 64 bits that comunicates with another 32 bits service or your application via pipes or networks sockets, but it may require a significant effort.

    0 讨论(0)
提交回复
热议问题