Program Files & Program Files (x86) folders

D

Dabbler

Windows 7 now has two Program Files folders. Anybody knows what goes
into which one? Is there some rule for that?
 
J

John E. Carty

Dabbler said:
Windows 7 now has two Program Files folders. Anybody knows what goes into
which one? Is there some rule for that?
Program Files = 64bit Applications
Program Files (x86) = 32bit Applications
 
R

R. C. White

Hi, Dabbler.

Dabbler said:
Windows 7 now has two Program Files folders. Anybody knows what goes into
which one? Is there some rule for that?
John is correct, but, since many more users are now seeing 64-bit Windows
for the first time, a fuller explanation might be in order.

Those TWO folders are in all 64-bit Windows versions. They are NOT in
32-bit Win7 or other 32-bit Windows. They were introduced in Windows XP
x64, and also appear in Vista x64 and Windows 7 x64.

We've had the Program Files folder since Windows 9x, of course, long before
64-bit Windows first appeared. There was no thought of 64-bit applications
until WinXP x64. But when 64-bit Windows arrived, there was a need to
separate 64-bit operations and applications from 32-bit. Differences in the
operating system itself were handled by creating separate editions of the
OS: Windows XP Professional continued as 32-bit, and Window XP x64 was
introduced almost as a "behind-the-curtain" product that never appeared as a
retail package. But it established some patterns that have continued in
64-bit Vista and Win7.

To keep 32-bit and 64-bit apps separate in Win64 (my collective term for all
64-bit versions of Windows), MSFT could have created a new "Program Files
(x64)" folder and left 32-bit apps in the familiar "Program Files". But
they did not. Instead, they decided that Win64 would use "Program Files"
for 64-bit apps only; 32-bit apps in Win64 would go into the newly-created
"Program Files (x86)".

That decision created the confusion that has existed ever since WinXP x64
but never got much attention until Windows 7.
Almost all new computers are using CPUs and other hardware that are 64-bit
capable, and many (most?) new computers are being delivered with 64-bit
Windows 7 installed. So many more users are becoming aware of "Program
Files (x86)" for the first time - and are asking the question that you have
posted.

When I first encountered PF86 (my abbreviation) in WinXP x64 in about 2005,
I assumed that it was for 64-bit apps, since it existed only in 64-bit
Windows. It took me several months to realize that the "x86" label derived
from the "x86" line of Intel 32-bit CPUs (8086, 80286, 80486, etc.) and
applied to 32-bit Windows and apps, not 64-bit. By that time, I had
hopelessly jumbled my 32-bit and 64-bit apps in my PF and PF86 folders.

So I certainly understand your confusion, Dabbler, and I'm sure that it is
widespread among users who are having their first introduction to 64-bit
Windows with their new Win7 x64 computers.

The reason for separating 32-bit apps from 64-bit versions is not just
cosmetic. I'm not a techie, so I can't give a technical explanation. But
my understanding is that 64-bit apps require different supporting files,
such as DLLs and drivers, and that 32-bit apps on Win64 need to use a
"transition layer" called WOW (Windows on Windows). Having the app files
separated by "bitness" into different PF folders allows Win64 to know which
supporting services to use for each version of each app.

One example of all this is Internet Explorer. Win7 x64 comes with TWO
versions of IE8 installed; 32-bit Win7 has only the 32-bit version. In Win7
x64, you will find the two versions at:
32-bit version: C:\Program Files (x86)\Internet Explorer\iexplore.exe
64-bit version: C:\Program Files\Internet Explorer\iexplore.exe

When you click the big blue "e", the 32-bit version of IE8 runs, by default.
You can run the 64-bit version by browsing to it in the PF folder, as usual
for any application. Or, like any other app, you can create a shortcut or
an icon or pin it to your Taskbar, etc. The two versions perform ALMOST
identically. But, for example, Adobe Flash Player will not run in the
64-bit IE8 because Adobe has not yet updated Flash for 64-bit. Flash will
run in 32-bit IE8 on Win64. (To see which version of IE you are currently
running, click Help | About Internet Explorer; the 32-bit edition does not
mention "bitness", but the 64-bit Edition says "64-bit Edition" on the
Version line. And, yes, you can have both versions open at the same time.)

I hope this helps others who may be "reading over our shoulders". In a
newsgroup, "lurking" is A Good Thing. ;<)

RC
--
R. C. White, CPA
San Marcos, TX
(e-mail address removed)
Microsoft Windows MVP
Windows Live Mail 2009 (14.0.8089.0726) in Win7 Ultimate x64
 
D

Dick Mahar

Dabbler said:
Windows 7 now has two Program Files folders. Anybody knows what goes into
which one? Is there some rule for that?
Program Files is for 64 bit programs, PF (86) is for 32 bit.
 
D

Dabbler

John is correct, but, since many more users are now seeing 64-bit
Windows for the first time, a fuller explanation might be in order.

Those TWO folders are in all 64-bit Windows versions. They are NOT in
32-bit Win7 or other 32-bit Windows. They were introduced in Windows
XP x64, and also appear in Vista x64 and Windows 7 x64.

We've had the Program Files folder since Windows 9x, of course, long
before 64-bit Windows first appeared. There was no thought of 64-bit
applications until WinXP x64. But when 64-bit Windows arrived, there
was a need to separate 64-bit operations and applications from 32-bit.
Differences in the operating system itself were handled by creating
separate editions of the OS: Windows XP Professional continued as
32-bit, and Window XP x64 was introduced almost as a
"behind-the-curtain" product that never appeared as a retail package.
But it established some patterns that have continued in 64-bit Vista
and Win7.

To keep 32-bit and 64-bit apps separate in Win64 (my collective term
for all 64-bit versions of Windows), MSFT could have created a new
"Program Files (x64)" folder and left 32-bit apps in the familiar
"Program Files". But they did not. Instead, they decided that Win64
would use "Program Files" for 64-bit apps only; 32-bit apps in Win64
would go into the newly-created "Program Files (x86)".

That decision created the confusion that has existed ever since WinXP
x64 but never got much attention until Windows 7.
Almost all new computers are using CPUs and other hardware that are
64-bit capable, and many (most?) new computers are being delivered
with 64-bit Windows 7 installed. So many more users are becoming
aware of "Program Files (x86)" for the first time - and are asking the
question that you have posted.

When I first encountered PF86 (my abbreviation) in WinXP x64 in about
2005, I assumed that it was for 64-bit apps, since it existed only in
64-bit Windows. It took me several months to realize that the "x86"
label derived from the "x86" line of Intel 32-bit CPUs (8086, 80286,
80486, etc.) and applied to 32-bit Windows and apps, not 64-bit. By
that time, I had hopelessly jumbled my 32-bit and 64-bit apps in my PF
and PF86 folders.

So I certainly understand your confusion, Dabbler, and I'm sure that
it is widespread among users who are having their first introduction
to 64-bit Windows with their new Win7 x64 computers.

The reason for separating 32-bit apps from 64-bit versions is not just
cosmetic. I'm not a techie, so I can't give a technical explanation.
But my understanding is that 64-bit apps require different supporting
files, such as DLLs and drivers, and that 32-bit apps on Win64 need to
use a "transition layer" called WOW (Windows on Windows). Having the
app files separated by "bitness" into different PF folders allows
Win64 to know which supporting services to use for each version of
each app.

One example of all this is Internet Explorer. Win7 x64 comes with TWO
versions of IE8 installed; 32-bit Win7 has only the 32-bit version.
In Win7 x64, you will find the two versions at:
32-bit version: C:\Program Files (x86)\Internet Explorer\iexplore.exe
64-bit version: C:\Program Files\Internet Explorer\iexplore.exe

When you click the big blue "e", the 32-bit version of IE8 runs, by
default. You can run the 64-bit version by browsing to it in the PF
folder, as usual for any application. Or, like any other app, you can
create a shortcut or an icon or pin it to your Taskbar, etc. The two
versions perform ALMOST identically. But, for example, Adobe Flash
Player will not run in the 64-bit IE8 because Adobe has not yet
updated Flash for 64-bit. Flash will run in 32-bit IE8 on Win64. (To
see which version of IE you are currently running, click Help | About
Internet Explorer; the 32-bit edition does not mention "bitness", but
the 64-bit Edition says "64-bit Edition" on the Version line. And,
yes, you can have both versions open at the same time.)

I hope this helps others who may be "reading over our shoulders". In
a newsgroup, "lurking" is A Good Thing. ;<)
Thanks for the historical background for naming those two PF files.
Though I did not mention I was running the 64-bit version of W7, I
thought it was implied by the occurance of those two PF folders. To me
it kinda' makes sense that in a 64-bit version they use the X86 suffix
for 32-bit programs when I view it this way: use the plain "Program
Files" for those programs that are built with the OS bit size; 32-bit
programs for 32-bit OS, 64-bit programs for 64-bit OS. Thus, using the
x86 suffix makes sense for PF folder name where programs are installed
that are not native for that OS. This also explains why there was no
need for two different PF folders for 32-bit OS's, except when they
could have run 16-bit programs. But I don't remember how 32-bit OS's
handled 16-bit programs. Do you?
 
F

FiOS-Dave

An excellent description!
I just have one question...
What happens if a 64 bit program winds up in the PF86
folder, and vice-versa?

Dave
 
R

R. C. White

Hi, Dave.

I don't know. Maybe nothing. Nothing bad, that is. As they say, the devil
is in the details. It depends on the requirements of the specific program.

I already have a cop-out, of course. In my earlier post I said:
But I would be interested to hear the answer from someone who actually
knows.

RC
--
R. C. White, CPA
San Marcos, TX
(e-mail address removed)
Microsoft Windows MVP
Windows Live Mail 2009 (14.0.8089.0726) in Win7 Ultimate x64
 
B

Boon

RC,

Thanks for you excellent clarification of the two folders.

Some 32 bit apps work fine with Win7 64 bit, especially if they are
advertised as compatible. Some apps seem to work fine even if they aren't
advertised as compatible. Occasional I see something like this: "I tried
xyz legacy program on Win7 64 bit, and it works for me."

Two questions: is there some way to tell whether a 32 bit app (not
advertised as compatible) will work with Win7 64? Is there any chance of
damaging the system by installing a 32 bit app to see if it works?

Thanks again for helping us to understand.

- Dave Boon
 
R

R. C. White

Hi, Boon.
is there some way to tell whether a 32 bit app (not
advertised as compatible) will work with Win7 64?
I don't know. You'll have to ask a techie. I haven't tried every program
out there, of course, but I've been running Win64 (WinXP x64, Vista x64 and
now Win7 x64) for about 5 years and everything I've tried has worked - with
just a couple of hassles, both from Adobe. First, Photoshop Elements 4.0 (I
later updated to 6.0 and now 8.0, which are compatible) would not work well
during the Vista beta, but that was ironed out by the time Vista went RTM in
late 2006; I don't recall if the incompatibility was with Vista itself or
with x64. Second, as I may have mentioned and as widely reported, Adobe's
Flash Player will work in 32-bit IE on Win64, but not in 64-bit IE.
Is there any chance of
damaging the system by installing a 32 bit app to see if it works?
Again, you'd have to ask a techie to be sure, but I don't think so. My
understanding is that the only apps that might not work are those that deal
with hardware (and need 64-bit drivers) and utilities that work on stuff
"under the hood", down in the guts of Windows. (And Flash, as I said.)

RC
--
R. C. White, CPA
San Marcos, TX
(e-mail address removed)
Microsoft Windows MVP
Windows Live Mail 2009 (14.0.8089.0726) in Win7 Ultimate x64
 
M

MICHAEL

R. C. White said:
Hi, Dabbler.



John is correct, but, since many more users are now seeing 64-bit Windows for the first time,
a fuller explanation might be in order.

Those TWO folders are in all 64-bit Windows versions. They are NOT in 32-bit Win7 or other
32-bit Windows. They were introduced in Windows XP x64, and also appear in Vista x64 and
Windows 7 x64.

We've had the Program Files folder since Windows 9x, of course, long before 64-bit Windows
first appeared. There was no thought of 64-bit applications until WinXP x64. But when
64-bit Windows arrived, there was a need to separate 64-bit operations and applications from
32-bit. Differences in the operating system itself were handled by creating separate
editions of the OS: Windows XP Professional continued as 32-bit, and Window XP x64 was
introduced almost as a "behind-the-curtain" product that never appeared as a retail package.
But it established some patterns that have continued in 64-bit Vista and Win7.

To keep 32-bit and 64-bit apps separate in Win64 (my collective term for all 64-bit versions
of Windows), MSFT could have created a new "Program Files (x64)" folder and left 32-bit apps
in the familiar "Program Files". But they did not. Instead, they decided that Win64 would
use "Program Files" for 64-bit apps only; 32-bit apps in Win64 would go into the
newly-created "Program Files (x86)".

That decision created the confusion that has existed ever since WinXP x64 but never got much
attention until Windows 7.
Almost all new computers are using CPUs and other hardware that are 64-bit capable, and many
(most?) new computers are being delivered with 64-bit Windows 7 installed. So many more
users are becoming aware of "Program Files (x86)" for the first time - and are asking the
question that you have posted.

When I first encountered PF86 (my abbreviation) in WinXP x64 in about 2005, I assumed that it
was for 64-bit apps, since it existed only in 64-bit Windows. It took me several months to
realize that the "x86" label derived from the "x86" line of Intel 32-bit CPUs (8086, 80286,
80486, etc.) and applied to 32-bit Windows and apps, not 64-bit. By that time, I had
hopelessly jumbled my 32-bit and 64-bit apps in my PF and PF86 folders.

So I certainly understand your confusion, Dabbler, and I'm sure that it is widespread among
users who are having their first introduction to 64-bit Windows with their new Win7 x64
computers.

The reason for separating 32-bit apps from 64-bit versions is not just cosmetic. I'm not a
techie, so I can't give a technical explanation. But my understanding is that 64-bit apps
require different supporting files, such as DLLs and drivers, and that 32-bit apps on Win64
need to use a "transition layer" called WOW (Windows on Windows). Having the app files
separated by "bitness" into different PF folders allows Win64 to know which supporting
services to use for each version of each app.

One example of all this is Internet Explorer. Win7 x64 comes with TWO versions of IE8
installed; 32-bit Win7 has only the 32-bit version. In Win7 x64, you will find the two
versions at:
32-bit version: C:\Program Files (x86)\Internet Explorer\iexplore.exe
64-bit version: C:\Program Files\Internet Explorer\iexplore.exe

When you click the big blue "e", the 32-bit version of IE8 runs, by default. You can run the
64-bit version by browsing to it in the PF folder, as usual for any application. Or, like
any other app, you can create a shortcut or an icon or pin it to your Taskbar, etc. The two
versions perform ALMOST identically. But, for example, Adobe Flash Player will not run in
the 64-bit IE8 because Adobe has not yet updated Flash for 64-bit. Flash will run in 32-bit
IE8 on Win64. (To see which version of IE you are currently running, click Help | About
Internet Explorer; the 32-bit edition does not mention "bitness", but the 64-bit Edition says
"64-bit Edition" on the Version line. And, yes, you can have both versions open at the same
time.)

I hope this helps others who may be "reading over our shoulders". In a newsgroup, "lurking"
is A Good Thing. ;<)
Very informative and helpful post, R.C.


-Michael
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top