Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

What are reasons to have separate folders besides to easily distinguish 32 bit images from 64 bit images?

share|improve this question
    
I was under the impression that that was the reason. –  ceejayoz May 15 '09 at 19:33
add comment

3 Answers

up vote 15 down vote accepted

It's not just for human readability, there are many programmatic reasons to separate 32-bit apps from 64-bit. Consider the "Common Files" folder. If you have a 32-bit app and 64-bit app that use the Common Files folder for a file with the same name, you're going to hose whichever one was installed first. There are also differences in how Windows presents these folders to the apps themselves, though I'm not familiar enough with them to explain them well.

Finally, this is the first of many steps in the move to universally native 64-bit apps. Presenting the folders differently keeps the distinction visible to developers and users alike, and 32-bit "Program Files (x86)" is the odd man out.

share|improve this answer
add comment

You mentioned the reason: to distinguish 32-bit program files from 64-bit program files. When you run a 32-bit program on a 64-bit Windows installation, Windows redirects folder requests from that program for %ProgramFiles% [C:\Program Files in the English language version] to the x86 alternative [C:\Program Files (x86)]. Because of this silent redirection, 64-bit and 32-bit programs can coexist without interfering with each other. (For example, 64-bit Windows includes both 64-bit and 32-bit versions of Internet Explorer.) Windows also performs similar redirections for its own files and for registry keys.

share|improve this answer
add comment

As you wrote in your question these folders are distinguished default setup directories for 32bit and 64bit applications.

An interesting hybrid setup is SQL Server 2005: if you install install the 64bit version, the main SQL engine files will be copied under the Program Files folder, the tools, which are 32bit-only will be installed in the "Program Files (x86)"

share|improve this answer
    
Yeah, this one hosed us a few months ago. A SQL 2005 hotfix ate the master db rendering the instance unstartable. MS suggested the culprit was 32-bit client components. –  squillman May 15 '09 at 20:34
add comment

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.