Have you ever wondered about the System32 and SysWOW64 folder on Windows 64-bit operating systems?

To get straight to the point, the System32 folder will contain the 64-bit library and executable files.

WoW64 (Windows 32-bit oWindows 64-bit) is a subsystem of the Windows operating system to run 32-bit applications on 64-bit Windows.

The reason why the name for this folder remains same as in 32-bit Windows systems, is because of backward compatibility as many legacy applications are hardcoded to use that path.

When executing 32-bit applications, WoW64 transparently redirects 32-bit DLLs to %SystemRoot%\SysWoW64, which contains 32-bit libraries and executables.

Exceptions from these redirects are

  • %SystemRoot%\system32\catroot
  • %SystemRoot%\system32\catroot2
  • %SystemRoot%\system32\driverstore
  • %SystemRoot%\system32\drivers\etc
  • %SystemRoot%\system32\logfiles
  • %SystemRoot%\system32\spool
  • %SystemRoot%\system32\driverstore (only for Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP)

32-bit applications are generally not aware that they are running on a 64-bit operating system. 32-bit applications can access %SystemRoot%\System32 through the pseudo directory %SystemRoot%\sysnative

There are two Program Files directories each visible to both 32-bit and 64-bit applications. The directory that stores the 32 bit files is called Program Files (x86) to differentiate between the two, while the 64 bit maintains the traditional Program Files name without any additional qualifier.