Why do I have two Program Files folders?

Updated: 01/24/2018 by Computer Hope
Program files

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, 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 are 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 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 (Random-Access Memory) (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?

Several reasons:

  • 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 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 called "x86". This name was later extended to include the 32-bit 80386 and 80486 processor family. When 64-bit processors were introduced, they were called 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 Program Files folder, try looking in the Program Files (x86) folder as well.