MultiArch on Windows

Windows8

Under Windows 64-bit (Vista-64, Win7-64, Win8-64 and Win10-64),
32-bit applications run on top of an emulation of a 32-bit operating system that is called Windows 32-bit on Windows 64-bit, or WOW64 for short.  WOW64 intercepts all operating system calls made by a 32-bit application.

For each operating system call made, WOW64 generates native 64-bit system calls, converting 32-bit data structures into 64-bit aligned structures. The appropriate native 64-bit system call is passed to the operating system kernel, and any output data from the 64-bit system call is converted into a format appropriate for the calling application before being passed back.

Like 32-bit applications, WOW64 runs in user mode so any errors that occur in translating an operating system call will only occur at that level. The 64-bit operating system kernel cannot be affected.

Since WOW64 runs in user mode, all 32-bit application code must also run in user mode. This explains why 32-bit kernel mode device drivers and applications that rely on them, will not work under Windows 64-bit.
 

multiarch-win-2

 

The WOW64 interface needs to ensure that files and registry settings for 32-bit applications are kept apart from those for 64-bit applications. To achieve this two mechanisms are used, File and Registry Redirection and Key Reflection. Redirection maintains logical views of the data as if it were in 32-bit Windows and maps it to the correct physical location. Reflection ensures that 32-bit and 64-bit settings will be consistent where that is required.
 

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

32-bit applications files are installed into

C:\Program Files(x86)

32-bit system files are installed into

C:\WINDOWS\SysWOW64

For 64-bit applications, files are installed to:

C:\Program Files
C:\WINDOWS\SYSTEM32

 

multiarch-win-1

 

CodeTyphon support by default MultiArch on all Windows 64 bits OSes