The difference between the "Program Files (x86)" and "Program Files" folders in Windows

There is a good chance that you have two similar folders in Windows, "C: \ Program Files" and "C: \ Program Files (x86)". Knowing that your installed programs are in the Program Files folder, you will see that some of them are in one folder, and some others are in the folder.

And if you ask what the difference is between these folders, you will obviously tell us that Microsoft, after the appearance of Windows 64-bit operating systems, decided to separate the installed programs running on 64-Bit from those running on 32-bit. And so, 64-bit machines have both folders (compared to 32-bit machines that have only one Program Files) with 32-bit programs installed in the "C: \ Program Files (x86)».

Windows 64-bit vs. Windows 32-bit
64-bit Windows can also run 32-bit applications using something called WOW64, which means "Windows 32-bit on Windows 64-bit".

When you run an 32-bit program in a version of Windows 64-bit, the WOW64 remover redirects all files from "C: \ Program Files" to "C: \ Program Files (x86)". And so while the 32-bit program attempts to access the main program file, it is essentially redirected to Program Files (x86). 64-bit programs still use the regular Program Files folder.

Of course, 64-bit applications can not run on a functional 32-bit Windows, even if the machine is 64-bit (yes, 32-bit Windows can be installed on a 64-bit CPU and motherboard)

What's stored in each folder
In short, a 32-bit version of Windows just has just one "C: \ Program Files" folder. This includes all your installed programs, which are 32-bit.

In a 64-bit version of Windows, 64-bit programs are stored in "C: \ Program Files". 32-bit programs are stored in the "C: \ Program Files (x86)" folder.

Why did they divide them?
Due to compatibility. Because 32-bit programs may not be aware that they are running on a 64-bit version of Windows, they split them so that Windows can keep them away from 64-bit code.

32-bit programs can not load 64-bit libraries (DLLs), and they will crash if they try to load a specific DLL file and find a 64-bit machine instead of the 32-bit counterpart. The same applies to 64-bit programs. Keeping the separation between different program files designed for different CPU architectures prevents mistakes.

For example, suppose Windows uses only one Program Files folder. An 32-bit application that needs part of Office will start searching for a Microsoft Office DLL file located in C: \ Program Files \ Microsoft Office and will try to load it. However, if you had an 64-bit version of Microsoft Office installed, the application would not work properly and would most likely crash. With the separate folders, it ensures that the application will not be confused with finding the correct DLL, because the 64-bit version of Microsoft Office will be in C: \ program files \ Microsoft Office and the 32-bit application will be in C: \ Program Files (x86) \ Microsoft Office.

This also helps developers who create both the 32-bit and 64-bit architectures, especially if they both need to be installed at the same time. The 32-bit version is automatically installed in C: \ Program Files (x86), and the 64-bit version is automatically installed in the C: \ Program Files folder.

Why was the 32-bit folder named (x86)?
You will not always find the two different architectures as "32-bit" and "64-bit". Instead, you will sometimes see them as "x86" and "x64" respectively. This has been around since computers used the Intel 8086 chip. THE term x86 came from the fact that the first descendants of 8086 also had names ending in "86". The original chip was 16-bit and the next version became 32-bit. So the term "x86" refers to 16-bit or 32-bit architecture. Newer 64-bit architecture is referred to as "x64" instead.

This means that in "Program Files (x86)" there are programs that use the older x86 CPU architecture. Note also that the 64-bit version of Windows can not run 16-bit code.

Do they all matter?
Usually all of this is irrelevant, and you do not really care if program files are stored in the Program Files folder or in the Program Files folder (x86). Windows automatically installs the programs in the correct folder, so you do not have to decide it yourself. Your programs appear in the Start menu and work normally, no matter where they are installed. Both 32-bit and 64-bit programs should store your data in folder names, such as AppData and ProgramData, and not in any Program Files folder. Just let your programs decide automatically which Program Files folder to use.

If you use a portable program, it can run from any folder on your system, so you do not have to worry about where to place it. You can also put your portable applications in the Dropbox or another type of cloud storage folder so that they are available from all your computers.

Sometimes you need to know where a program is stored. For example, you may want to go to a program's installation folder to back up some files. You need to know where to look.

If you are not sure if a program you have installed is 64-bit or not and you are looking for its installation folder, you may need to examine both program file folders to find it.

You can also take a look at Task Manager. 32-bit programs are listed by adding "(32-bit)" immediately after their name, which gives you an indication that you will find them in C: \ Program Files (x86).

iGuRu.gr The Best Technology Site in Greeceggns

Get the best viral stories straight into your inbox!















Written by Dimitris

Dimitris hates on Mondays .....

Leave a reply

Your email address is not published. Required fields are mentioned with *

Your message will not be published if:
1. Contains insulting, defamatory, racist, offensive or inappropriate comments.
2. Causes harm to minors.
3. It interferes with the privacy and individual and social rights of other users.
4. Advertises products or services or websites.
5. Contains personal information (address, phone, etc.).