Why do I have two 'Program Files' folders?
Since 2005, Microsoft has offered both 32-bit and 64-bit versions of its Windows operating system. If you're running a 64-bit version of Microsoft Windows, you will notice that there are two separate folders where your Program Files are kept:
- Program Files, which contains 64-bit programs and applications, and
- Program Files (x86), which contains 32-bit programs and applications.
So what's the difference?
64-bit applications have been compiled specifically for use on a 64-bit computer. They make use of system features specific to a 64-bit architecture, and they access 64-bit versions of the Windows software libraries.
32-bit applications are legacy applications or modern programs that have been compiled for 32-bit processing. 64-bit versions of Windows can still run these programs, though, using a compatibility layer called WoW64 (which stands for Windows32 on Windows64).
Is it bad to run a 32-bit program on 64-bit Windows?
Not at all. The WoW64 layer does a good job of emulating a 32-bit environment, and any performance loss is generally not noticeable. The emulated programs may actually have an advantage, because WoW64 can allocate the maximum amount of RAM (4 GB) to the application. On a real 32-bit system, some of that RAM would be allocated to the operating system kernel and other running programs.
So, why are 64-bit and 32-bit programs kept in separate folders?
- Convenience: it's an easy way to tell them apart.
- It reduces the chances of a conflict if, for example, you install both a 32-bit and 64-bit version of the same program on one system.
- It increases the chance that older programs will work properly, reducing the chance that they will interact with 64-bit software accidentally.
Why is the 32-bit folder called "(x86)"?
x86 is another way to refer to 32-bit processors. Originally, 16-bit processors — specifically, the 8086 and 8088 processor architectures — were referred to as "x86". This name was later extended to include the 32-bit 80386 and 80486 processor family. When 64-bit processors were introduced, they were referred to as x64 to distinguish them from the older processor lines.
If I manually move programs from one folder to the other, will they still work?
In theory, there's no reason why a 32-bit program won't work if you manually install it to your Program Files folder, and vice versa — 64-bit programs should work fine if you install them to the Program Files (x86) folder. It's a better idea to leave them right where Windows wants them, however.
Tip: If you're having trouble locating a program in the Programs Files folder, try looking in the Programs Files (x86) folder as well.
- What is the difference between a 32-bit and 64-bit CPU?
- How do I determine if I have a 64-bit or 32-bit CPU?
- See the 64-bit and Program Files definitions for further information and related links.