Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

migrated from stackoverflow.com Jun 20 '11 at 9:39

This question came from our site for professional and enthusiast programmers.

3 Answers 3

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.

share|improve this answer
1  
It'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 Jun 20 '11 at 20:26
    
AndrejaKo is right, "installations" don't always look for the value. There are a suprising number of applications that use hardcoded paths. –  Matthew Read Jun 20 '11 at 21:24
    
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 Jun 21 '11 at 3:16

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)".

share|improve this answer

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.

share|improve this answer
    
For the record, an admin since edited his answer. –  KCotreau Jun 20 '11 at 15:38
    
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 Jun 20 '11 at 15:46
    
@Moab I just saw the sysadmin part of his handle, and though he was one. –  KCotreau Jun 20 '11 at 15:48
    
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 Jun 20 '11 at 16:45
1  
@DMA57361 Thank you almight master (see I saw the diamond). :) Seriously, thanks. –  KCotreau Jun 21 '11 at 12:19

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.