MultiArch on Windows
- Details
- Category: MultiArch
- Published: Wednesday, 07 May 2014 17:46
- Written by Sternas Stefanos
- Hits: 18076
Under Windows 64-bit (Win7-64, Win8-64, Win10-64 and Win11),
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.
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
CodeTyphon support by default MultiArch on all Windows 64 bits OSes