我有一些32位的GNU程序,我想添加到我的Windows7-64bit机器上的系统path,如Curl.exe,WGet.exe,AutoExNT.exe等。我不想改变系统path环境variables,所以我想把他们放在一个旧的32位系统上的“system32”equivilant位置。
我知道,因为这些是32位程序,除非它们位于32位仿真器目录:SysWOW64,否则它们将无法运行。 我试过了,所以我知道这是真的。
我很困惑,为什么这个目录不是Windows7默认系统path的一部分。 是否安全或build议将SysWOW64添加到默认的系统环境(而不是用户级别的环境)?
有什么我在这里俯瞰? 有没有办法在不需要黑客入侵系统path的path中运行SysWOW64的batch file?
Windows中的64位/ 32位设置是一个巨大的痛苦。 你必须把这些文件放在哪里取决于什么types的应用程序试图执行它们。 如果你有一个32位应用程序试图启动它们,你可以把它们放在SysWOW64目录下。 如果您有一个64位应用程序试图启动它们,它们将进入System32目录。 如果您想从32位应用程序访问真正的 System32目录,则可以使用特殊的SysNative目录。
SysWOW64目录包含所有的32位二进制文件,但如果您启动一个32位二进制文件(例如32位cmd.exe)将显示为System32目录。 在一个32位的二进制文件中,通常只能访问这个目录的内容。 您不能访问实际的System32目录,除非您使用的是支持Sysnative目录的操作系统,或者您启用了一些特殊的API标志。
为了增加混淆,System32目录(使用64位应用程序时看到的真实目录)包含所有64位二进制文件。