Por que duas pastas para instalação do MS Office

Por que duas pastas para instalação do MS Office

Recentemente, encontrei um grande problema com minha instalação do MS Office 2007 em relação ao Access 2007, que me deu um erro informando que não era possível fazer referência adequada ao ActiveX Data Objects 6.1.

Ao tentar resolver o problema, descobri que a instalação do Office possui duas pastas muito semelhantes:

  • C:\Program Files (x86)\Common Files\System\ado\
  • C:\Program Files \Common Files\System\ado\

Ambas as pastas têm conteúdo muito semelhante, mas todos os arquivos têm tamanhos ligeiramente diferentes. É aqui que muitos dos objetos de dados ActiveX de referência do Access são armazenados.

Descobri que, por padrão, meu navegador de referência de acesso me leva para a (x86)pasta e a outra pasta énãodisponível para eu navegar e escolher o arquivo DLL desejado.

Também descobri que a Microsoft nunca publicou uma versão de 64 bits do Office (duvido dessa informação), o que acho que faria sentido que todos os arquivos estivessem na (x86)pasta.

Por que haveria duas pastas diferentes com praticamente os mesmos nomes de arquivo (de tamanhos diferentes) (o que implica que arquivos com o mesmo nome têm códigos diferentes)?

Isso significa que existem duas versões diferentes do ActiveX Data Objects 6.1?

Isso poderia significar que meu problema era que não consegui fazer referência à versão correta do arquivo?


PS: Finalmente tive que corrigir o bug executando o comando Reparar do CD de instalação.

Responder1

A Microsoft fornece uma versão de 32 bits e uma versão de 64 bits dos componentes de dados ActiveX. Dessa forma, os desenvolvedores de software podem criar programas de 32 e 64 bits que os utilizam. A razão pela qual eles têm tamanhos diferentes é porque os ponteiros de memória de 32 e 64 bits têm tamanhos diferentes. (Normalmente, isso significaria que as versões de 64 bits seriam maiores, mas nem sempre é o caso, porque os processadores de 64 bits também têm muitas otimizações para fazer certos tipos de código serem executados usando código binário/assembly mais simples.)

Sua suposição de que esses componentes foram instalados junto com o Office está incorreta. ADO faz parte do pacote "Microsoft Data Access Components" (MDAC), que na verdade faz parte do sistema operacional. É por isso que o número da versão, 6.1, corresponde ao número da versão do Windows para o Windows 7, que também é 6.1.

O motivo pelo qual sua versão do Microsoft Access está levando você para a (x86)pasta é porque ela é a versão de 32 bits do Access, portanto, só pode usar os componentes de 32 bits. Se você tivesse a versão de 64 bits do Access (que, ao contrário da sua afirmação na pergunta, realmente existe), você só conseguiria visualizar os componentes no (x86)diretório não.

(O fato de você ter conseguido corrigir o problema original executando um Reparo do Windows significa que você teve problemas com a instalação do Windows ou possivelmente uma corrupção no Windows Update enquanto ele estava sendo instalado. No entanto, isso não tem absolutamente nada a ver com a presença dessas duas pastas.)

informação relacionada