¿Por qué dos carpetas para la instalación de MS Office?

¿Por qué dos carpetas para la instalación de MS Office?

Recientemente me encontré con un problema importante con mi instalación de MS Office 2007 con respecto a Access 2007, que me dio un error de que no podía hacer referencia correctamente a ActiveX Data Objects 6.1.

Al intentar solucionar el problema, encontré que la instalación de Office tiene dos carpetas muy similares:

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

Ambas carpetas tienen contenido muy similar pero todos los archivos tienen tamaños ligeramente diferentes. Aquí es donde se almacenan muchos de los objetos de datos ActiveX de referencia de Access.

Descubrí que, de forma predeterminada, mi navegador de Referencia de Access me lleva al(x86) carpeta y la otra carpeta esnodisponible para navegar y elegir el archivo DLL deseado.

También descubrí que Microsoft nunca ha publicado una versión de 64 bits de Office (dudo esa información), lo que creo que significa que tendría sentido que todos los archivos estuvieran en la (x86)carpeta.

¿Por qué habría dos carpetas diferentes con prácticamente los mismos nombres de archivo (de diferente tamaño) (lo que implica que los archivos con el mismo nombre tienen códigos diferentes)?

¿Significa esto que existen dos versiones diferentes de ActiveX Data Objects 6.1?

¿Podría eso significar que mi problema fue que no podía hacer referencia a la versión adecuada del archivo?


PD: finalmente tuve que solucionar el error ejecutando el comando Reparar desde el CD de instalación.

Respuesta1

Microsoft proporciona una versión de 32 bits y una versión de 64 bits de los componentes de datos ActiveX. De esa manera, los desarrolladores de software pueden crear programas de 32 y 64 bits que los utilicen. La razón por la que tienen diferentes tamaños es porque los punteros de memoria de 32 y 64 bits tienen tamaños diferentes. (Por lo general, esto significaría que las versiones de 64 bits serían más grandes, pero ese no es siempre el caso, porque los procesadores de 64 bits también tienen muchas optimizaciones para hacer que ciertos tipos de código se ejecuten usando código binario/ensamblador más simple).

Su suposición de que estos componentes se instalaron junto con Office es incorrecta. ADO es parte del paquete "Componentes de acceso a datos de Microsoft" (MDAC), que en realidad forma parte del sistema operativo. Es por eso que el número de versión, 6.1, coincide con el número de versión de Windows 7, que también es 6.1.

La razón por la que su versión de Microsoft Access lo lleva a la (x86)carpeta es porque es la versión de 32 bits de Access, por lo que solo puede usar los componentes de 32 bits. Si tuviera la versión de 64 bits de Access (que, contrariamente a lo que afirma en la pregunta, en realidad existe), solo podría ver los componentes que no están en el (x86)directorio.

(El hecho de que haya podido solucionar su problema original ejecutando una reparación de Windows significa que tuvo problemas con su instalación de Windows, o posiblemente una corrupción en una actualización de Windows mientras se estaba instalando. Sin embargo, eso no tiene absolutamente nada que ver con la presencia de estas dos carpetas).

información relacionada