Skip to main content
replaced http://superuser.com/ with https://superuser.com/
Source Link

Having to separate folders makes it possible to keep the native 64-bit applications and thos that require the WoW64 apart.

This can be useful – as @OliverSalzburg@OliverSalzburg already pointed out – if you wish to install both he 64-bit and 32-bit of a web browser (for example), since some plug-ins and add-ons might only available for one of the two.

Having to separate folders makes this separation automatic, using techniques such as registry redirection.

Suppose an installer tries to determine the program files folder by reading the registry by using, e.g., RegQueryValueEx.

In any case, it tries to read the registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

which normally points to C:\Program Files.

However, if the installer is a 32-bit application, registry redirection will cause the regitry key

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion

to be read instead, which normally points to C:\Program Files (x86).

Why these particular folder names have been used can only be answered by the people who made this choice. You could always change the default folders' names if you want to.

Does Windows somehow present itself differently to a program running out of "Program Files (x86)"?

I doubt it. Most installers permit you to choose a custom installation folder, so it doesn't really matter where a program gets installed.

Having to separate folders makes it possible to keep the native 64-bit applications and thos that require the WoW64 apart.

This can be useful – as @OliverSalzburg already pointed out – if you wish to install both he 64-bit and 32-bit of a web browser (for example), since some plug-ins and add-ons might only available for one of the two.

Having to separate folders makes this separation automatic, using techniques such as registry redirection.

Suppose an installer tries to determine the program files folder by reading the registry by using, e.g., RegQueryValueEx.

In any case, it tries to read the registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

which normally points to C:\Program Files.

However, if the installer is a 32-bit application, registry redirection will cause the regitry key

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion

to be read instead, which normally points to C:\Program Files (x86).

Why these particular folder names have been used can only be answered by the people who made this choice. You could always change the default folders' names if you want to.

Does Windows somehow present itself differently to a program running out of "Program Files (x86)"?

I doubt it. Most installers permit you to choose a custom installation folder, so it doesn't really matter where a program gets installed.

Having to separate folders makes it possible to keep the native 64-bit applications and thos that require the WoW64 apart.

This can be useful – as @OliverSalzburg already pointed out – if you wish to install both he 64-bit and 32-bit of a web browser (for example), since some plug-ins and add-ons might only available for one of the two.

Having to separate folders makes this separation automatic, using techniques such as registry redirection.

Suppose an installer tries to determine the program files folder by reading the registry by using, e.g., RegQueryValueEx.

In any case, it tries to read the registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

which normally points to C:\Program Files.

However, if the installer is a 32-bit application, registry redirection will cause the regitry key

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion

to be read instead, which normally points to C:\Program Files (x86).

Why these particular folder names have been used can only be answered by the people who made this choice. You could always change the default folders' names if you want to.

Does Windows somehow present itself differently to a program running out of "Program Files (x86)"?

I doubt it. Most installers permit you to choose a custom installation folder, so it doesn't really matter where a program gets installed.

Source Link
Dennis
  • 49.9k
  • 12
  • 134
  • 151

Having to separate folders makes it possible to keep the native 64-bit applications and thos that require the WoW64 apart.

This can be useful – as @OliverSalzburg already pointed out – if you wish to install both he 64-bit and 32-bit of a web browser (for example), since some plug-ins and add-ons might only available for one of the two.

Having to separate folders makes this separation automatic, using techniques such as registry redirection.

Suppose an installer tries to determine the program files folder by reading the registry by using, e.g., RegQueryValueEx.

In any case, it tries to read the registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

which normally points to C:\Program Files.

However, if the installer is a 32-bit application, registry redirection will cause the regitry key

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion

to be read instead, which normally points to C:\Program Files (x86).

Why these particular folder names have been used can only be answered by the people who made this choice. You could always change the default folders' names if you want to.

Does Windows somehow present itself differently to a program running out of "Program Files (x86)"?

I doubt it. Most installers permit you to choose a custom installation folder, so it doesn't really matter where a program gets installed.