¿Cuál es la diferencia entre las carpetas “System32” y “SysWOW64”?

En las versiones de 64 bits de Windows , tiene dos carpetas separadas de Archivos de programa. Pero no termina ahí. También tiene dos directorios de sistema separados donde se almacenan las bibliotecas DLL y los archivos ejecutables: System32 y SysWOW64. A pesar de los nombres, System32 está lleno de archivos de 64 bits y SysWOW64 está lleno de archivos de 32 bits.

diferencia System32 y SysWOW64"

¿Qué es System32?

El directorio de System32 contiene archivos de sistema de Windows, archivos de biblioteca .DLL utilizados por programas y utilidades de programa .EXE que son parte de Windows. Si bien la mayoría de los archivos que se encuentran aquí son parte del sistema operativo Windows, los programas de terceros también pueden instalar sus propios archivos DLL en esta carpeta.

Las aplicaciones que se ejecutan en su sistema pueden instalarse en su carpeta Archivos de programa o en cualquier otro lugar, pero a menudo cargan bibliotecas de todo el sistema desde la carpeta System32.

Separación de bibliotecas de 32 bits y 64 bits

diferencia System32 y SysWOW64"

En una versión de 64 bits de Windows, tiene una carpeta C: \ Archivos de programa que contiene programas de 64 bits y sus archivos, y una carpeta C: \ Archivos de programa (x86) que contiene programas de 32 bits y sus archivos. Es útil que estos archivos estén separados porque los programas de 64 bits necesitan archivos DLL de 64 bits, y los programas de 32 bits necesitan archivos DLL de 32 bits.

Si un programa de 32 bits va a cargar un archivo DLL que necesita, encuentra una versión de 64 bits e intenta cargarlo, se bloqueará. Al separar el software de 64 y 32 bits en dos carpetas diferentes de Archivos de programa, Windows se asegura de que no se mezclen y causen problemas.

Sin embargo, no todos los archivos DLL se almacenan en Archivos de programa. Muchas bibliotecas de todo el sistema incluidas con Windows se almacenan en C: \ System32, y algunos programas también descargan sus propios archivos de biblioteca aquí. Así que, al igual que Windows tiene carpetas de archivos de programa separadas de 32 y 64 bits, también tiene versiones separadas de 32 bits y 64 bits de la carpeta System32.

System32 y SysWOW64

En una computadora de 32 bits, todos los programas de 32 bits almacenan sus archivos en C: \ Archivos de programa, y ​​la ubicación de la biblioteca en todo el sistema es C: \ System32.

En una computadora de 64 bits, los programas de 64 bits almacenan sus archivos en C: \ Archivos de programa, y ​​la carpeta C: \ Windows \ System32 de todo el sistema contiene bibliotecas de 64 bits. Los programas de 32 bits almacenan sus archivos en C: \ Archivos de programa (x86) y la carpeta de todo el sistema es C: \ Windows \ SysWOW64.

Esto es definitivamente contrario a la intuición. A pesar del “32” en el nombre, la carpeta System32 contiene bibliotecas de 64 bits. Y, a pesar del 64 en el nombre, la carpeta SysWOW64 contiene bibliotecas de 32 bits, al menos en las versiones de Windows de 64 bits.

En general, no necesitarás saber esto. El sistema operativo Windows y los programas que usa colocan automáticamente sus archivos en la ubicación correcta y usan la carpeta correcta. Sin embargo, si alguna vez necesita instalar manualmente un archivo DLL en la ubicación correcta o encontrar dónde está instalado, lo cual es muy raro, deberá saber cuál es cuál.
[irp posts=”2293″ name=”¿Qué diferencias hay entre PowerShell y CMD?”]

WOW64, explicado

La parte “WOW64” del nombre aquí se refiere al software “Windows 32 bit en Windows 64 bit” de Microsoft, que es parte del sistema operativo. Esto permite que Windows ejecute programas de 32 bits en una versión de Windows de 64 bits. WoW64 redirige el acceso a archivos para garantizar que los programas funcionen correctamente.

Por ejemplo, si instala un programa de 32 bits en una versión de 64 bits de Windows e intenta escribir en la carpeta C: \ Archivos de programa, WoW64 lo señala en C: \ Archivos de programa (x86). Y, si quiere acceder a la carpeta C: \ Windows \ System32, WoW64 lo señala en C: \ Windows \ SysWOW64. Windows hace esto usando un redirector de sistema de archivos .

Todo esto sucede de forma automática y transparente en el fondo. El programa ni siquiera tiene que saber que se está ejecutando en un sistema operativo de 64 bits, que permite que los programas anteriores de 32 bits se ejecuten sin modificaciones en las versiones de 64 bits de Windows. WOW64 también redirecciona el acceso de registro, garantizando que haya áreas separadas del registro para programas de 64 y 32 bits.

Entonces, ¿por qué System32 es de 64 bits y SysWOW64 de 32 bits?

La respuesta parece ser que muchas aplicaciones de 32 bits estaban codificadas para usar el directorio C: \ Windows \ System32. Cuando los desarrolladores recompilaron estas aplicaciones para versiones de 64 bits de Windows, continuaron usando el directorio C: \ Windows \ System32.

En lugar de cambiar el nombre del directorio y forzar a los desarrolladores a pasar al nuevo, rompiendo muchas aplicaciones en el proceso, Microsoft dejó “System32” como el directorio estándar de la biblioteca del sistema. Crearon un nuevo directorio de biblioteca para aplicaciones que se ejecutan bajo la capa WoW64, que denominaron “SysWOW64″. Cuando lo piensas de esta manera, el nombre tiene más sentido.

[irp posts=”1446″ name=”¿Cuál es la diferencia entre FAT32, exFAT y NTFS?”]

Sí, es un poco tonto que un directorio con “32” en el nombre ahora sea de 64 bits. Tal vez Microsoft debería haber visto eso cuando lo llamaron C: \ Windows \ System32 en los años 90. Pero, aunque un esquema de nombres más directo sería bueno, no vale la pena romper un montón de programas y crear más trabajo para los desarrolladores solo para llegar allí. Eso significa que estamos atrapados con System32 y SysWOW64 en el futuro previsible.
Fuente: social technet microsoft