System32 y SysWOW64: cómo distinguir ambas carpetas de Windows
Para empezar, diremos que las versiones de 64 bits de Windows cuentan con dos carpetas de archivos de programa independientes, y al mismo tiempo disponen de dos directorios del sistema separados donde se almacenan las librerías DLL y los ejecutables, estos son System32 y SysWOW64.
A pesar de sus nombres, System32 está lleno de archivos de 64 bits, mientras que SysWOW64 está lleno de archivos de 32 bits, veamos en qué se diferencian entonces. La carpeta System32 contiene archivos del sistema de Windows, tanto bibliotecas DLL usadas por programas, como ejecutables que son parte de Windows. Aunque la mayoría de los archivos que se encuentran aquí son parte de Windows, los programas de terceros a veces instalan sus propias DLL en esta carpeta de manera adicional a la habitual “Archivos de programa”.
La versión de 64 bits de Windows tiene la carpeta “C: Archivos de Programa” que contiene programas de 64 bits y sus archivos, además de la carpeta “C: Program Files (x86)” que contiene programas de 32 bits y sus archivos de compatibilidad con el software antiguo. Es muy útil que estos archivos se separen porque los programas de 64 bits necesitan DLLs de 64 bits, y los programas de 32 bits necesitan DLLs de 32 bits. Por tanto si un programa de 32 bits va a cargar una DLL que necesita y encuentra una versión de 64 bits e intenta cargarla, se bloqueará, de ahí la separación.
Sin embargo, no todas las librerías se almacenan en “Archivos de programa”, ya que muchas propias de Windows se almacenan en “C: System32”, mientras que algunos programas también descargan sus DLLs aquí. Por tanto, al igual que Windows tiene las carpetas de archivos de programa de 32 y 64 bits separadas, también tiene versiones separadas de 32 y 64 bits de la propia carpeta System32.
Así, en un equipo de 32 bits todos los programas de 32 bits almacenan sus archivos en “Program Files” y las DLLS en “System32”. Por el contrario, en un equipo de 64 bits, los programas de 64 bits almacenan sus archivos en ”Program Files” y la carpeta “C: WindowsSystem32” contiene las DLLs de 64 bits.
De la misma manera los programas de 32 bits almacenan sus archivos en “C: Archivos de programa (x86)”, y la carpeta para todo el sistema es “C: WindowsSysWOW64”.
Windows emplea un sistema confuso con sus directorios
Cierto es que no tiene demasiado sentido y es un tanto lioso, ya que a pesar del «32» en el nombre, la carpeta “System32” contiene bibliotecas de 64 bits, mientras que a pesar del “64” del nombre, la carpeta SysWOW64 contiene librerías de 32 bits, al menos en las versiones de 64 bits de Windows.
Por tanto y para entender parte de todo esto, hay que apuntar que la parte «WOW64» del nombre, se refiere al software «Windows 32-bit on Windows 64-bit» de Microsoft. Esto permite a Windows ejecutar programas de 32 bits en una versión de 64 bits, por lo que “WoW64” redirige el acceso a los archivos para asegurar que los programas funcionarán correctamente.
Entonces llegados a este punto nos podríamos preguntar la razón por la que “System32” es de 64 bits y “SysWOW64” de 32, y, en resumidas cuentas, al parecer muchas aplicaciones de 32 bits fueron codificadas para usar el directorio “C: Windows System32”, pero cuando los desarrolladores las volvieron a compilar para los 64 bits de Windows, continuaron usando la misma carpeta “C: WindowsSystem32”.
Por lo tanto, en lugar de cambiar el nombre del directorio y obligar a los desarrolladores a migrar al nuevo, Microsoft permitió seguir usando «System32» como directorio estándar de las bibliotecas del sistema. Eso sí, crearon otro nuevo de librerías para las aplicaciones que se ejecutan bajo la capa WoW64, que denominaron «SysWOW64», lo que ya le da un poco más de sentido a todo este embrollo.
Con el lanzamiento de Windows 11, Microsoft se ha olvidado de los equipos antiguos ya que únicamente ofrece una versión de 64 bits. Lo mismo está sucediendo cada vez con todo tipo de aplicaciones, ya que los desarrolladores están centrando sus esfuerzos en actualizar sus aplicaciones para 64 bits, aunque todavía podemos encontrar aplicaciones antiguas que no se han actualizado y, probablemente, no lo harán por falta de tiempo y/o recursos de su creador.
Es precisamente por esta razón por la que debemos distinguir ambas carpetas que os hemos mencionado en estas líneas a la hora de trabajar con el software, por ejemplo, para localizarlo y desinstalarlo desde el Explorador de archivos de Windows. Como hemos visto, encontrar esas aplicaciones en las dos carpetas del sistema no siempre es tan fácil como debería.