File and Registry redirection information for 32-bit applications on 64-bit Windows systems

Product Name

File and Registry redirection information for 32-bit applications on 64-bit Windows systems.

General Information

File Redirection

This ensures that there are separate folders for program and operating system files for 32 and 64 bit applications.

32 bit applications files are installed to:
C:\Program Files(x86)

32 bit system files are installed to:
C:\WINDOWS\SysWOW64

64 bit application files are installed to:
C:\Program Files and C:\WINDOWS\SYSTEM32

The WOW64 file redirector ensures that requests from 32 bit applications to open files in C:\Program Files or C:\WINDOWS\SYSTEM32 are redirected to the appropriate 32 bit directories.

There is one issue with file redirection that users and developers should be aware of. Many 64 bit applications still use 32 bit installation routines. To ensure that an application is installed correctly, i.e. to C:\Program Files, the installation routine should make an operating system call to temporarily suspend the WOW64 file redirector. After installation another operating system call needs to be made to re-enable the redirector. If this approach isn't followed then the application will be installed to C:\Program Files (x86).

Registry Redirection

Registry keys specific to 32-bit applications are redirected from:

HKEY_LOCAL_MACHINE\Software
to
HKEY_LOCAL_MACHINE\Software\WOW6432Node

You may also occasionally see Registry entries, although this is unusual, under:

HKEY_CURRENT_USER\Software\WOW6432Node

This approach allows both the 32 bit and 64 bit versions of an application to be installed side-by-side without overwriting each other's settings.

Some redirected keys and/or values are also reflected. This means that if a 32 bit application makes a change to the redirected section of the registry then that change is also made to the 64 bit part of the registry and vice-versa. Key reflection uses a policy of last writer wins. For example, if I:

Install a 32 bit application that associates itself with the file extension XYZ.
 
Install the 64 bit version of this application that associates itself with the file extension XYZ.
 
Install another 32 bit application that associates itself with the file extension XYZ.
Double-clicking on a file with the extension XYZ in Explorer would load the application installed in step 3 as it was the last one to associate itself with this extension.

All of this is done transparently for 32 bit applications by WOW64 which, in intercepting calls to the operating system, detects references to file paths and registry keys and maps them accordingly.

Applies To

Microsoft Windows (64-bit)

Additional Information

None