Hacemos una revisión profunda cada una de las secciones de nuestro sitio web con la meta de mostrarte en todo momento la información más veraz y certera.
Solución:
Aquí hay una solución para instalar la versión de 64 bits de Microsoft Access Database Engine 2010 redistribuible en un sistema con una versión de MS Office de 32 bits instalada:
- Compruebe el registro de 64 bits key “HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0CommonFilesPaths” antes de instalar la versión de 64 bits de Microsoft Access Database Engine 2010 redistribuible.
- Si no contiene el valor de registro “mso.dll”, deberá cambiar el nombre o eliminar el valor después de instalar la versión de 64 bits de Microsoft Access Database Engine 2010 redistribuible en un sistema con una versión de 32 bits de MS Oficina instalada.
- Use el parámetro de línea de comando “/pasivo” para instalar el redistribuible, por ejemplo, “C:ruta del directorioAccessDatabaseEngine_x64.exe” /pasivo
- Elimine o cambie el nombre del valor de registro “mso.dll”, que contiene la ruta a la versión de 64 bits de MSO.DLL (y no debe ser utilizado por las versiones de MS Office de 32 bits).
Ahora puede iniciar una aplicación de MS Office de 32 bits sin el problema de “reconfiguración”. Tenga en cuenta que el valor de registro “mso.dll” ya estará presente si está instalada una versión de 64 bits de MS Office. En este caso, el valor no debe eliminarse ni cambiarse de nombre.
Además, si no desea utilizar el parámetro de línea de comando “/ pasivo”, puede editar el archivo AceRedist.msi para eliminar la comprobación de la arquitectura de MS Office:
- descargue e instale Microsoft Orca: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx
- descomprima el archivo AccessDatabaseEngine.exe o AccessDatabaseEngine_x64.exe
- abra el archivo AceRedist.msi en Orca
- busque dos filas de la tabla que contengan la acción “CheckOfficeArchitecture” y suelte estas filas
- guarde el archivo AceRedist.msi actualizado
Ahora puede usar este archivo para instalar Microsoft Access Database Engine 2010 redistribuible en un sistema donde está instalada una versión “conflictiva” de MS Office (por ejemplo, una versión de 64 bits en un sistema con una versión de MS Office de 32 bits) Asegúrese de cambiar el nombre el valor de registro “mso.dll” como se explicó anteriormente (si es necesario).
Odio responder mis propias preguntas, pero finalmente encontré una solución que realmente funciona (usar la comunicación de socket entre servicios puede solucionar el problema, pero crea aún más problemas). Dado que nuestra base de datos es heredada, simplemente requería Microsoft.ACE.OLEDB.12.0
en la conexión string. Resulta que esto también estaba incluido en Office 2007 (y MSDE 2007), donde solo hay disponible una versión de 32 bits. Entonces, en lugar de instalar MSDE 2010 de 32 bits, instalamos MSDE 2007 y funciona bien. Luego, otras aplicaciones pueden instalar MSDE 2010 de 64 bits (u Office 2010 de 64 bits), y no entra en conflicto con nuestra aplicación.
Hasta ahora, parece que esta es una solución aceptable para todos los entornos del sistema operativo Windows.
Un enfoque similar a la respuesta de @Peter Coppins. Esto, creo, es un poco más fácil y no requiere el uso de la utilidad Orca:
-
Compruebe el registro “HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0CommonFilesPaths” key y asegúrese de que el valor “mso.dll” NO esté presente. Si está presente, parece que Office de 64 bits está instalado y no debería necesitar esta solución.
-
Descargue Microsoft Access Database Engine 2010 Redistributable.
-
Desde la línea de comandos, ejecute: AccessDatabaseEngine_x64.exe /passive
(Nota: este instalador se colgó silenciosamente o falló para mí, así que descomprimí los componentes y ejecuté: AceRedist.msi /passive y se instaló bien. Tal vez sea algo de Windows 10).
- Elimine o cambie el nombre del valor “mso.dll” en “HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0CommonFilesPaths” key.
Fuente: Cómo instalar controladores de bases de datos de Microsoft de 64 bits junto con Microsoft Office de 32 bits