Have you ever poked around in File Explorer and wondered why there are two Program Files folders? If you venture deeper into the folders, you will find that one of them contains certain programs while the other one has different files. Now, you may wonder why this is so and if these two folders have separate functions. Well, we’re here to show you how to find out the difference between the Program Files and Program Files (x86) folders.
Program Files and Program Files (x86) Definition
For over 15 years, Microsoft has offered the Windows operating system in both 32-bit and 64-bit versions. Now, if you have a 64-bit Windows OS, you will see that two separate folders are holding the program files:
- Program Files – This folder contains 64-bit applications and programs.
- Program Files (x86) – This folder contains 32-bit applications and programs.
Microsoft designed the Program Files folder to store applications’ executable files, data, and other important information. On 64-bit Windows operating systems, 64-bit programs are installed to this folder automatically. That said, this OS version still supports 32-bit applications. Of course, Microsoft does not want to create technical problems when 64-bit and 32-bit software gets mixed up in the same folder. So, 32-bit apps get installed to the Program Files (x86) folder instead.
For 32-bit programs to run on 64-bit Windows versions, the operating system uses a feature called Windows 32-bit on Windows 64-bit (WOW64). Basically, the WOW64 emulation layer redirects the 32-bit programs’ file access from the Program Files folder to the Program Files (x86) folder. On the other hand, 64-bit applications use the standard procedure of accessing the Program Files folder.
Now, if you’re running a 32-bit Windows operating system, you will only have a Program Files folder. All the applications installed on your computer will be in this folder. On the other hand, if you have a 64-bit Windows OS, the 64-bit programs will be saved in the Program Files folder while the 32-bit applications will be saved in the Program Files (x86) folder. Now that you’ve learned about this information, you wouldn’t think that the programs are spread randomly across the two folders.
A Deeper Look into How 32-Bit and 64-Bit Programs Access Data Files
Now, you might be asking, “Can I delete Program Files (x86)?” Well, doing that may not be a good idea. The Program Files folders are split up as a compatibility feature. Old 32-bit applications may not recognize that a 64-bit Windows OS version even exists. The operating system stores them in a separate folder to keep them away from the 64-bit coding.
It is also worth noting that 32-bit applications cannot load 64-bit DLL files. Now, if they try to access a specific DLL file and only find a 64-bit version, they may crash. So, it is important to keep the program files for different CPU architectures in their respective folders. Doing so will prevent issues like this from happening.
Let’s look at this scenario: the operating system is using a single Program Files folder. Now, if you’re running a 32-bit program, it will locate and load a Microsoft Office DLL file from this path:
C:\Program Files\Microsoft Office
Now, if you installed a 64-bit version of Microsoft Office, the app will either crash or malfunction. On the other hand, if there are separate folders, the program will not be able to access the other DLL version at all. The 64-bit version of Microsoft Office will be stored in C:\Program Files\Microsoft Office. Meanwhile, the 32-bit app will only access C:\Program Files (x86)\Microsoft Office.
The separate folders are also helpful for programs that come with both 64-bit and 32-bit versions. If you install both of them at once, the 64-bit version will be stored in Program Files while the 32-bit version will be saved in Program Files (x86). Now, if the operating system uses a single folder for program files, the developer must design the application to store the 64-bit version to a different location.
Is It Harmful to Run 32-Bit Applications on a 64-Bit Windows OS?
Don’t worry about running 32-bit programs on a 64-bit Windows operating system. As we’ve mentioned, WOW64 emulates an excellent 32-bit environment. In general, any performance loss is unnoticeable. You may even find that the emulated applications have an edge. After all, WOW64 can allocate the maximum RAM amount to them. If you’re running a 32-bit program on an x86 Windows OS, a good chunk of that RAM will be allocated to other running applications and the operating system kernel.
Why Not 32-Bit Instead of x86?
When it comes to the 32-bit and 64-bit architectures, you’ll usually see them referred to as ‘x86’ and ‘x64’ respectively. The reason behind this is because older PCs had the Intel 8086 chip. Originally, the chips were 16-bit. However, newer versions became 32-bit. These days, everything—whether 16-bit or 32-bit—that came before the 64-bit architecture is referred to as x86. Meanwhile, the 64-bit versions are generally referred to as x64.
So, when you see Program Files x86, it means it is the folder intended for programs that use the 16-bit or 32-bit CPU architecture. As a side note, you should remember that 64-bit Windows operating systems cannot run 16-bit programs. You’ll need a 32-bit OS for that.
Should I Manually Choose Where the Programs Are Installed?
You don’t have to worry about this because Windows installs applications to the correct folders. No matter where they are stored, programs will appear in the Start menu and function without issues. Instead of using any Program Files folder, both 64-bit and 32-bit applications store the user’s data in the ProgramData and AppData folders. You can let the program decide automatically which Program Files folder to store its files in.
What If a Program Installs Itself in Other Folders?
Ideally, applications should only use the Program Files and Program Files (x86) folders. Now, if you notice that a program is installed elsewhere, you should be suspicious. It can be malware that is infecting your files and slowly holding the reins of your operating system. To be sure, we recommend that you use a reliable anti-virus to protect your computer.
Protect PC from Threats with Anti-Malware
Check your PC for malware your antivirus may miss and get threats safely removed with Auslogics Anti-Malware
There are many security applications out there, but Auslogics Anti-Malware is among the few that can deliver comprehensive protection. It can detect threats no matter how discreetly they operate in the background. So, you can have the peace of mind knowing that no malicious program is slowly gaining control over your operating system.
Do you prefer the x64 OS over the x86 CPU architecture?
We’d love to hear your thoughts! Share them in the comments below!