我是否应该将 SysWOW64 添加到我的系统路径中以获取路径中的 32 位程序?

我是否应该将 SysWOW64 添加到我的系统路径中以获取路径中的 32 位程序?

我有一些 32 位 GNU 程序想要添加到我的 Windows7-64 位机器上的系统路径中,例如 Curl.exe、WGet.exe、AutoExNT.exe 等。我根本不想改变系统路径环境变量,所以我想将它们放在相当于旧 32 位系统上的“system32”的位置。

我知道,由于这些是 32 位程序,因此除非它们位于 32 位模拟器目录 SysWOW64 中,否则它们将无法运行。我试过了,所以我知道这是真的。

我很困惑为什么这个目录不是 Windows7 中默认系统路径的一部分。将 SysWOW64 添加到默认系统环境(非用户级别环境)是否安全或建议?

我是不是忽略了什么?有没有办法在路径中使用 SysWOW64 运行批处理文件,而无需破解系统路径?

答案1

Windows 中的 64 位/32 位设置非常麻烦。您必须将这些文件放在哪里取决于尝试执行它们的应用程序类型。如果您有 32 位应用程序尝试启动它们,则应将它们放在 SysWOW64 目录中。如果您有 64 位应用程序尝试启动它们,则它们将进入 System32 目录。如果您想访问真实的System32 目录来自 32 位应用程序,您可以使用特殊系统原生目录。

SysWOW64 目录包含所有 32 位二进制文​​件,但如果您启动 32 位二进制文​​件(例如 32 位 cmd.exe),它将显示为 System32 目录。在 32 位二进制文​​件中,您通常只能访问此目录的内容。您无法访问实际的 System32 目录,除非您使用的操作系统支持 Sysnative 目录,或者您启用了一些特殊的 API 标志。

更令人困惑的是,System32 目录(使用 64 位应用程序时看到的真实目录)包含所有 64 位二进制文​​件。

相关内容