14

What is "SysWOW64" and how does it work?

Are SysWOW64 and System32 both used/loaded into RAM during the Windows 7 boot?

3
  • Oddly enough Syswow64 is legacy 32 bit versions of windows apps like taskmanager and cmd. May 10, 2011 at 19:52
  • It just stands for windows on windows.
    – Blomkvist
    May 10, 2011 at 19:56
  • Interview with an Ex-Microsoftie is excellent about this. TL;DR: System32 is for 64-bit files and SysWOW64 is for 32-bit files.
    – Basj
    Jan 10, 2023 at 14:33

3 Answers 3

26

Executive summary

Microsoft does things backwards sometimes, and this is yet another example of this. System32 is the 64-bit Windows system directory and SysWOW64 is the 32-bit Windows system directory — entirely the opposite way around to what the directory names would suggest.

Details

In Windows, there is a "Windows" directory and a "System" directory, and this has been true all of the way back to when Windows was 16-bit.

Windows programs are supposed to locate them using system API functions such as SHGetKnownFolderPath() and GetSystemDirectory(); and if everyone had done that the world would be quite different at this point. But too many people foolishly hardwired the actual name of the directory, \Windows\System32, into their programs, and then ported those programs from 32-bit Windows to 64-bit Windows. As a consequence, a whole lot of programs were looking for 64-bit executables and libraries in the \Windows\System32 directory, whose name they had hardwired. (Ironically, there was the same issue when migrating from 16-bit Windows to 32-bit Windows. The 16-bit "System" directory was \Windows\System, usually.)

So the people at Microsoft chose to make \Windows\System32 the directory that native, 64-bit, Windows programs would find the 64-bit executables and libraries in, and, since 32-bit programs run on top of a shim layer anyway in 64-bit Windows, accesses to the "System" directory by 32-bit programs are redirected to a new \Windows\SysWOW64 directory.

Hence the bizarre situation that now obtains.

13

WoW64 stands for Windows 32 on Windows 64:

WoW64 (Windows 32-bit On Windows 64-bit) is a subsystem of the Windows operating system that is capable of running 32-bit applications and is included on all 64-bit versions of Windows — including Windows 2000 Limited Edition, Windows XP Professional x64 Edition, IA-64 and x64 versions of Windows Server 2003, as well as 64-bit versions of Windows Vista, Windows Server 2008, and Windows 7.

1
  • 1
    I'm all voted out for today but this is a good answer... future +1 May 10, 2011 at 19:58
4

It means System Windows(x32) on Windows x64. It contains all x32 system files for compatibility. It runs so 32 bit apps can.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .