What is the difference between "Program Files" and "Program Files X86"?

37

1

In Windows 7 there are two folders, "Program Files" and "Program Files X86". What is difference between them?

Where does a 64 Bit program get installed?

Nilesh Salpe

Posted 2011-06-20T09:21:50.120

Reputation:

Answers

60

These two folders exist only in 64bit versions of Windows (XP, Vista and 7). 64bit applications go to "Program files", 32bit apps are installed in "Program Files (x86)".

MartinStettner

Posted 2011-06-20T09:21:50.120

Reputation: 469

22

The other answer is partially correct, but they do not "exist only in 64bit versions of Win7". They also exist in XP 64-bit, Vista 64-bit, Server 2003 64-bit, Server 2008 64-bit, etc.

Native 64-bit applications run in "Program files"; and "Program Files (x86)" serves as backward compatibility for 32-bit applications running on a 64-bit platform.

KCotreau

Posted 2011-06-20T09:21:50.120

Reputation: 24 985

For the record, an admin since edited his answer. – KCotreau – 2011-06-20T15:38:04.493

Yes, and that is obvious, anyone can edit another post if they have enough reps. edusysadmin is not an admin here at superuser, but a regular user like most of us here. – Moab – 2011-06-20T15:46:25.193

@Moab I just saw the sysadmin part of his handle, and though he was one. – KCotreau – 2011-06-20T15:48:37.530

I'd say (x86)'s existence is to simplify maintaining two separate installations of some software, as WoW64 does not require the executable to be launched from a specific location. – Phoshi – 2011-06-20T16:45:52.017

@ KCotreau, they may be one, just not here. – Moab – 2011-06-20T16:47:15.473

@Phoshi I am sure that it is a bit of both. It makes sense to separate them too. – KCotreau – 2011-06-20T16:56:05.907

@KCotreau for your future reference: the only people who are developers, admins or community moderators are those of us with the ♦ character. Everyone else is just a user. – DMA57361 – 2011-06-21T11:45:27.220

1@DMA57361 Thank you almight master (see I saw the diamond). :) Seriously, thanks. – KCotreau – 2011-06-21T12:19:11.303

12

The other answers are correct, but they don't say how it works. A installation always looks for the Value of the variable "ProgramFilesPath" in the Windows Registry, which is located in:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

Here you can also find both, the x64-path and the x86-path.

A installation program, which is written for x86-Architecture itself is automatically relocated to the path "Program Files (X86)". Modern installers like InstallShield can also determine which path is the right one, based on the software which they want to set up.

DiableNoir

Posted 2011-06-20T09:21:50.120

Reputation: 858

1It's also worth noting that some older installers will install into Program Files anyway, because they use hard coded directory instead of checking asking windows to report location. – AndrejaKo – 2011-06-20T20:26:06.860

And WIX can only install to Program Files on 64-bit systems with a lot of contortions. So apps uins WIX for the installer all install to Program Files (x86) – David Thielen – 2011-06-21T03:16:24.917