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

temos actualmente um problema importante com o Microsoft Access Database Engine 2010. O motor vem em formas 64-bit e 32-bit, o que é bom. No entanto, aparentemente você precisa sempre instalar a versão 32-bit se o processo host é sempre 32-bit. Está bem, nós conseguimos.

nosso software lida com um monte de componentes legados que são 32-bit, e grande parte dele está no código VB6, que gera 32-bit montagem. Assim, partimos do princípio de que o condutor também deve ser instalado como 32 bits. Na verdade, quando instalamos drivers de 32 bits em uma máquina de 64 bits, e executamos nossos aplicativos de 32 bits, ele funciona corretamente.

No entanto, o problema começa quando o Office 2010 64-bit é instalado no sistema. Acredite em mim, nós tentamos educar os usuários que o escritório de 64 bits é em grande parte desnecessário, sem sucesso. À medida que os computadores saem da linha de montagem com versões de 64 bits instaladas, somos incapazes de acompanhar os pedidos de suporte quando o nosso software quebra alguma coisa. Ou o escritório de 64 bits quebra o nosso instalação, ou a nossa instalação quebra a versão do Escritório deles, mas não é bonito de qualquer maneira. Uma outra questão é que o software não-legado às vezes irá instalar os drivers 64-bit (como eles devem), e as duas versões simplesmente não coexistem de forma razoável. Ou o nosso software quebra, ou o seu software quebra.

Alguém conseguiu fazer com que os condutores de 32 bits coexistissem com as instalações de 64 bits? Eu vi que instalar com a bandeira {[[0]} permite que os dois sejam instalado, e o nosso instalador usa o passivo. Ambos estão sendo instalados, mas uma vez no sistema ou nosso software já não funciona, ou escritório constantemente repara sua instalação. Há alguma forma razoável de fazer isto funcionar?

Author: drharris, 2012-09-04

6 answers

Aqui está uma solução para instalar a versão de 64 bits do Microsoft Access Database Engine 2010 Redistribuível num sistema com uma versão de 32 bits do MS Office instalada:

  • Verifique a chave de registo de 64 bits "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \ Office\14.0\Common\FilesPaths" antes de instalar a versão de 64 bits do Microsoft Access Database Engine 2010 Redistribuível.
  • Se não contiver o " mso.dll " valor de registro, então você terá que mudar o nome ou apague o valor após a instalação da versão 64-bit do Microsoft Access Database Engine 2010 Redistribuível em um sistema com uma versão 32-bit do MS Office instalado.
  • Utilize o parâmetro" / passivo " da linha de comandos para instalar o redistribuível, por exemplo. "C:\directory localização\AccessDatabaseEngine_x64.exe / passivo
  • apagar ou mudar o nome do "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 versao).

Agora você pode iniciar uma aplicação de 32 bits MS Office sem o problema" Re-configurando". Note que o " mso.dll " registry value will already be present if a 64-bit version of MS Office is installed. Neste caso, o valor não deve ser apagado ou renomeado.

Também se não quiser usar o parâmetro" / passivo " da linha de comandos, pode editar o AceRedist.ficheiro msi para remover a verificação da arquitectura do MS Office:

Pode agora usar este ficheiro para instalar o motor de Base de dados Microsoft Access 2010 Redistribuível num sistema em que é instalada uma versão" conflitante " do MS Office (por exemplo, versão 64-bit no sistema com versão 32-bit MS Office) Certifique-se de mudar o nome do "mso".dll " valor de registo como explicado acima (se necessário).

 25
Author: Peter Coppens, 2013-02-20 15:35:13
{[[2]} odeio responder às minhas próprias perguntas, mas finalmente encontrei uma solução que realmente funciona (usar a comunicação de socket entre serviços pode resolver o problema, mas cria ainda mais problemas). Uma vez que a nossa base de dados é legacy, ela apenas requereu Microsoft.ACE.OLEDB.12.0 na cadeia de conexão. Acontece que isso também foi incluído no Office 2007 (e MSDE 2007), onde há apenas uma versão de 32 bits disponível. Então, em vez de instalar o MSDE 2010 32-bit, nós instalar o MSDE 2007 , e ele funciona apenas fino. Outros aplicativos podem então instalar 64-bit MSDE 2010 (ou 64-bit Office 2010), e não entra em conflito com a nossa aplicação.

Até agora, parece que esta é uma solução aceitável para todos os ambientes Windows OS.

 17
Author: drharris, 2012-09-17 14:14:45

Instale a versão de 2007, parece que se instalar a versão oposta à versão do Office que está a usar, poderá fazê-la funcionar.

Http://www.microsoft.com/en-us/download/details.aspx?id=23734

 1
Author: Matthew Dolman, 2015-08-16 06:42:44

Uma abordagem semelhante à resposta de @Peter Coppins. Isto, eu acho, é um pouco mais fácil e não requer o uso do utilitário Orca:

  1. Verifique a chave de registo " HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \ Office\14.0\Common\FilesPaths "e certifique-se do valor" mso.dll " não está presente. Se ele está presente, então Office 64-bit parece estar instalado e você não deve precisar deste workaround.

  2. Obter o Microsoft Access Database Engine 2010 Redistribuível.

  3. A partir da linha de comandos, executar: AccessDatabaseEngine_x64.exe / passivo

(Nota: Este instalador bloqueou silenciosamente ou falhou para mim, por isso abri os componentes e corri: AceRedist.msi / passivo e que instalou bem. Talvez uma coisa do Windows 10.)

  1. apagar ou mudar o nome do "mso.dll "valor na chave" HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths".

Fonte: Como instalar 64 bits Controladores de bases de dados da Microsoft ao lado do Microsoft Office de 32 bits

 1
Author: Jahmic, 2016-06-26 13:24:01

Eu tinha uma mensagem de erro mais específica que dizia Para remover 'Office 16 Click-to-Run Extensibility Component'

Fixei-o seguindo os passos em https://www.tecklyfe.com/fix-for-microsoft-office-setup-error-please-uninstall-all-32-bit-office-programs-office-15-click-to-run-extensibility-component/

  • Ir para o início > executar (ou Winkey + R)
  • escreva " instalador "(que abre a pasta %windir%instalador), certifique-se que todos os ficheiros estão visíveis no Windows (Configuração Da Pasta)
  • Adicione a coluna "assunto" – e faça com que tenha pelo menos 400 pixels de largura) - carregue com o botão direito nos cabeçalhos das colunas, carregue mais e depois encontre o assunto
  • Ordenar na coluna do assunto e descer até localizar o nome mencionado no seu ecrã de erro ("componente de extensibilidade do Office 16 'Click-to-Run')
  • carregue com o botão direito no MSI e escolha Desinstalar
 1
Author: kloarubeek, 2017-06-27 09:58:45

Se ambas as versões do Microsoft Access Banco de dados de Mecanismo de 2010 não pode coexistir, em seguida, a sua única solução é reclamar para a Microsoft, sobre o carregamento de 64 bits versões em 32 bits do aplicativo é impossível diretamente, o que você pode fazer é um serviço que roda em 64 bits que comunicates com uma outra de 32 bits ou serviço de sua aplicação, através de canalizações ou redes de sockets, mas pode exigir um esforço significativo.

 0
Author: Rafael, 2012-09-14 19:52:54