为什么 SysWOW64 报告为 System32?

Why is SysWOW64 reported as System32?

我正在测试 Windows 服务。服务代码尝试删除我在 %windir%\SysWOW64 中创建的只读文件时失败,但记录的异常是:

Access to the path 'C:\Windows\system32\CanvasImages230.jpg' is denied.

我知道 64 位 Windows 关于这两个文件夹有很多技巧,并且了解一点,但是一些准确的异常信息会很好。

这有点令人困惑,但 SysWOW64 实际上是 64 位系统的 32 位模拟器。

WOW 代表 "Windows on Windows",而最初的 SysWOW 是 32 位 Windows 的 16 位模拟器(应该被称为 SysWOW32)。所以 SysWOW64 是 64 位的 32 位模拟器 Windows。

因此,当您 运行 32 位应用程序时,它使用 SysWOW64 来模拟 32 位注册表和 32 位重定向(例如到 Program Files (x86))。