Explicación de las carpetas 'Archivos de programa (x86)' y 'SysWOW64'



Si utilizas Windows de 64 bits instalado en una computadora de 64 bits (por ejemplo la versión de 64 bits de Windows 7) probablemente te has dado cuenta que existen dos nuevas carpetas con los nombres Archivos de programa (x86) y SysWOW64 en el disco duro, que no existían en Windows de 32 bits. Puede ser que te hayas preguntado ¿qué son estas carpetas, porqué existen y qué clase de archivos contienen?. En este artículo explicaremos estas carpetas y también porqué es importante colocar en ellas los archivos con los correspondientes bits (32 ó 64 bits) en la carpeta correcta en el disco duro.
 
Advertisement
Haga clic aquí para obtener más información acerca de Visual Installer

 
 
Computadoras y Windows de 32 bits versus computadoras y Windows de 64 bits
 
Desde mediados de los 90's casi todas las computadoras que se han vendido han sido computadoras de 32 bits, y la mayoría han tenido instalado Windows de 32 bits. Pero después de la liberación de Windows 7, la venta de computadoras de 64 bits con Windows de 64 bits instalado se han incrementando bastante. En los años venideros, más y más gente tendrá Windows 64 bits instalado en computadoras de 64 bits en sus hogares u oficinas. Una razón para esto es que el precio de una computadora de 64 bits ha descendido tanto que es casi el mismo que una computadora 32 bits, y la gente preferirá computadoras de 64 bits en lugar de 32 bits ya que puede manejar mucha más memoria (RAM).
 
Una computadora de 32 bits con Windows instalado de 32 bits puede utilizar una memoria (RAM) de 3 a 4 GB máximo. La mayor parte alrededor de 3 GB, gran parte del espacio de direcciones se usa para las tarjetas de video y otros dispositivos tales como tarjetas de red, tarjetas de sonido, etc. Esto es así aunque instale 4 GB en la computadora. Únicamente alrededor de 3 GB de RAM se utilizarán. Con Windows de 64 bits y computadoras de 64 bits las cosas son diferentes, una computadora de 64 bits con Windows de 64 bits puede manejar tanta memoria RAM como 192 GB!


Los programas de 32 bits como los de 64 bits pueden correr en Windows de 64 bits
 
Tanto los programas de 32 bits como los de 64 bits pueden correr en Windows de 64 bits. Cuando un programa de 32 bits se corre en Windows de 64 bits, se invocará a un emulador de 32 bits para manejar al programa de 32 bits.
 
El emulador hará que la aplicación de 32 bits “piense” que está corriendo en Windows de 32 bits y la misma funcionalidad que le es accesible en Windows de 32 bits le será también disponible al programa en Windows de 64 bits. Normalmente le será difícil al programa “saber” si está corriendo en un sistema de 32 bits o de 64 bits, pero si el programa requiere necesariamente conocer la diferencia, hay funciones API disponibles que puede llamar el programa si lo necesita.
   
Excepciones: programs antivirus, etc
Existen unas pocas excepciones a esto. Los programas de 32 bits que funcionan a bajo nivel, como los programas antivirus no siempre trabajan en Windows de 64 bits; por lo que debe usarse una versión de 64 bits del programa.
 
Durante la instalación, es importante colocar los archivos en las carpetas correctas
 
Como se mencionó anteriormente el emulador de 32 bits maneja las situaciones cuando programas de 32 bits corren en Windows de 64 bits, esto normalmente funciona bien, pero una fase sensible es la instalación del programa de 32 bits. Existen carpetas especiales en el disco duro que están destinadas únicamente para los archivos binarios de 32 bits por lo que es muy importante que el programa de instalación coloque los archivos binarios de 32 bits en estas carpetas. Algunas carpetas en el disco duro están dedicadas para archivos binarios de 32 bits únicamente y otras carpetas están orientadas únicamente para archivos binarios de 64 bits. Si colocas un archivo binario de específicos bits (32/64) en una carpeta destinada a otra cantidad de bits, el programa probablemente disfuncionará y en muchos casos ni siquiera iniciará.
 
Ejemplos de archivos binarios que se mencionan en este artículo son archivos EXE (archivos de programa), archivos DLL y archivos OCX (componentes ActiveX). Los archivos de datos pueden generalmente colocarse en las mismas carpetas y compartirlos para aplicaciones de 32 ó 64 bits.


Dos versiones diferentes de la carpeta Archivos de programa y la carpeta de sistema de Windows
 
Windows de 64 bits tiene dos versiones diferentes de la carpeta program files y la carpeta de sistema de Windows. Una versión está orientada para archivos de 32 bits y la otra versión para archivos de 64 bits. Los nombres de estas carpetas, y los bits a que coresponden, se muestran en la tabla de abajo:
  
Nombre de la carpeta Bits Descripción
System32 64 Carpeta de sistema de Windows para archivos 64 bits
SysWOW64 32 Carpeta de sistema de Windows para archivos 32 bits
Arquivos de Programas 64 Carpeta para archivos de programa 64 bits
Arquivos de Programas (x86) 32 Carpeta para archivos de programa 32 bits
 
Abajo puedes ver las rutas completas de las carpetas:
 
Nombre de la carpeta Ruta de la carpeta Descripción
System32 C:\Windows\System32 Carpeta de sistema de Windows para archivos 64 bits
SysWOW64 C:\Windows\SysWOW64 Carpeta de sistema de Windows para archivos 32 bits
Arquivos de Programas C:\Archivos de programa Carpeta para archivos de programa 64 bits
Arquivos de Programas (x86) C:\Archivos de programa (x86) Carpeta para archivos de programa 32 bits
 

La carpeta 'System32' es para archivos 64 bits y la carpeta 'SysWOW64' es para archivos 32 bits
 
Esto puede resultar un tanto confuso, pero la carpeta System32 está dedicada para archivos 64 bits y la carpeta SysWOW64 está dedicada para archivos 32 bits. Esto puede verse un poco ilógico atendiendo a los nombres de las carpetas, pero hay una explicación para ello. Tiene que ver con la compatibilidad. Muchos desarrolladores han codificado el nombre de la ruta de la carpeta de sistema en el código fuente de sus aplicaciones con el fin de preservar la compatibilidad, si la aplicación se convierte a código de 64 bits, la carpeta de sistema de 64 bits, aún se llamará System32.
 
Pero ¿qué ocurre con las aplicaciones de 32 bits que tienen codificada la ruta de system y están corriendo en Windows de 64 bits?. Podrías pensar ¿cómo pueden encontrar la nueva carpeta SysWOW64 sin cambios en el código del programa?. La respuesta es que el emulador redirecciona las llamadas a la carpeta System32 a la carpeta SysWOW64 de manera transparente, aún si la carpeta ha sido codificada a la carpeta System32 (como C:\Windows\System32), el emulador se asegurará que la carpeta SysWOW64 se use en su lugar. De modo que el mismo código fuente, que utiliza la carpeta System32, puede compilarse tanto en código de programa de 32 bits como de 64 bits sin cambio alguno.
 
Recuerda:
 
la carpeta SysWOW64 está dedicada únicamente para archivos de 32 bits
la carpeta System32 está únicamente destinada para archivos de 64 bits
 
Es muy importante que un archivo binario compilado a bits específicos (32 ó 64) se instale en la carpeta correcta de system. De otra forma el programa que necesita el archivo no podrá cargarlo y probablemente no trabajará como se espera.


Las carpetas 'Archivos de programa' y 'Archivos de programa (x86)'
 
Si tienes instalado Windows de 64 bits en tu computadora, quizá te has dado cuenta que existen dos carpetas para archivos de programa: la carpeta Archivos de programa y la carpeta Archivos de programa (x86). La carpeta Archivos de programa, está destinada a programas de 64 bits y la carpeta Archivos de programa (x86) se dedica a programas de 32 bits.

En muchos casos el programa iniciará y correrá como se espera aún si colocas el programa en carpetas equivocadas, pero si el programa pide a Windows la ruta de archivos de programa y desea accesar los archivos instalados en la carpeta, se utilizará la carpeta errónea y el programa fallará en su función. De modo que para asegurarse de que todo funcionará como se espera, deberás siempre instalar los archivos con específico número de bits a la correcta carpeta de archivos de programa. Así que en una computadora de 64 bits con Windows de 64 bits, recuerda esto:
 
instala siempre un programa de 32 bits en la carpeta Archivos de programa (x86)
instala siempre un programa de 64 bits en la carpeta Archivos de programa
 
 
Soportado por todas las versiones de Windows
 
Esta forma de nombrar a las carpetas de 32 bits y 64 bits está soportada por todas las versiones de Windows de 64 bits en el mercado. Tanto versiones de cliente como versiones servidor de Windows soportan esto. Las siguientes versiones de Windows soportan esta forma de nombres: Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10 y Windows Server 2003 / 2008 / 2012 / 2016 / 2019.
 
 
¿Qué significan 'WOW64' y 'x86'?
 
SysWOW64 y Archivos de programa (x86) son carpetas especiales que sólo existen en Windows de 64 bits y están orientadas a almacenar archivos binarios de 32 bits. En los nombres de las carpetas hay caracteres “extraños” incluidas las combinaciones WOW64 y x86. Estas combinaciones de caracteres tienen un significado y lo explicamos a continuación:
 
WOW64 es un nombre corto para “Windows on Windows 64 bits (se puede leer como “Windows de 32 bits en Windows de 64 bits”). Es un emulador que permite a las aplicaciones basadas en Windows de 32 bits correr indistintamente en Windows de 64 bits. Una capa de compatibilidad se utiliza como una interfase entre el programa de 32 bits y el sistema operativo de 64 bits.
 
x86 es el nombre de la arquitectura del procesador de Intel que maneja juegos de instrucciones de 32 bit. El término x86 se ha utilizado por largo tiempo y en el inicio se utilizaba como un término general para referirse a los procesadores de Intel de 16/32 bit con nombres tales como 8086, 80186, 80286, 80386 etc, pero desde la aparición del procesador 80386, el primer procesador real de 32 bit, el término x86 se ha utilizado para referirse a procesadores de 32 bits que tienen un juego de instrucciones que es compatible con el viejo procesador 80386.
 


Más información
 
Si deseas tener más información acerca de las diferentes versiones de Program Files y carpeta de System, y tienes un panorama general de la tecnología WOW64, deberás leer el documento Best Practices for WOW64 de Microsoft.
 
Más información está también disponible en nuestro artículo La carpeta 'Archivos de programa' en distintos idiomas.


Productos relacionados:
SamLogic Visual Installer

Otros artículos
Más artículos están disponibles en artículo de la página índice.

 
 
SamLogic
English