Why Does 64-Bit Windows Need Two Program Files Folders?

Why Does 64-Bit Windows Need a Separate “Program Files (x86)” Folder?

Since 2005, Microsoft has offered both 32-bit and 64-bit versions of its Windows operating system (OS) to support new 64-bit CPUs. So, if you see a folder Program Files (x86) on your computer, it means that you are running a 64 Bit Windows OS. You will notice that there are two separate folders where your Program Files are kept:

• Program Files (x86), which contains 32-bit programs and applications, and.
• Program Files, which contains 64-bit programs and applications.

But, have you ever wondered why it is necessary to have these two folders and what’s the difference between them?

A 64-bit Windows OS has backward support for 32-bit applications. Also, 64-bit Windows stores all 32-bit apps on another folder to let you know that these apps are created for a 32-bit OS, which is also a very good way to organize everything properly.

Windows runs smoother if it keeps these two very different types of code separate. The OS can’t assume that an x86 program even knows that such a thing as x64 code exists, and that could cause problems if they cross.

For example, if a 32-bit program went looking for a .dll, and found one that came with an x64 version, the program wouldn’t work and wouldn’t know why it didn’t work. Therefore, keeping them in separate folders is the simplest way to avoid such problems. However, this folder (Program Files x86) is only available on a 64-bit Windows (XP, Vista, 7, 8) OS.

So, is it 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. The number 86 now refers to pre-x64 code, whether it’s 16- or 32-bit, even though the 16-bit x86 code won’t run in 64-bit versions of Windows.

Other than the Program Files, there are also some other components that have both 32-bit and 64-bit version of Windows. Some of these are stored in Winsxs (stands for Windows Side By Side) and WoW64 (Windows 32-bit on Windows 64-bit), which is a subsystem of the Windows OS capable of running 32-bit applications that are included in all 64-bit versions of Windows.

Source: Superuser

Subscribe to our newsletter

To be updated with all the latest news

Kavita Iyer
Kavita Iyerhttps://www.techworm.net
An individual, optimist, homemaker, foodie, a die hard cricket fan and most importantly one who believes in Being Human!!!


  1. Cool i’ve always thought about this!
    I work in IT support and a lot of people ask this question and I never can reply to it.
    Now I can !


  2. Having 32 and 64bit programs separate is OK but the way they did it was wrong. Changing paths and methods for 32bit programs broke compatibility and required work-arounds or rewrite code. Having the 64bit programs with new paths and methods would have been fine because they were already being rewritten. MS not as smart as you think.


Please enter your comment!
Please enter your name here

Subscribe to our newsletter

To be updated with all the latest news

Read More

Suggested Post