32位cmd.exe如何在Windows Server 2003 x64上启动64位cmd.exe?

这是Windows Server 2008 64位上的7-Zip执行权限的后续操作

我试图避免有一个过于复杂的构build过程,以制作多个7-Zip EXE文件。 我只需要一个.cmd来读取一些64位registry项后启动我的Java进程。 但是,要成功使用一个EXE文件,它需要是32位。

上面的问题find了让Windows Server 2008检测到32位cmd.exe并将其交换到64位的技巧。 有没有办法在Windows Server 2003上做到这一点? 有一个Windows修补程序,它允许reg.exe以32位模式访问64位条目,但我无法确定这是在客户的服务器上,因此解决方法是不可行的。

Solutions Collecting From Web of "32位cmd.exe如何在Windows Server 2003 x64上启动64位cmd.exe?"

要从32位cmd.exe启动64位cmd.exe,必须能够访问c:\Windows\System32文件夹而不被重定向到c:\Windows\SysWow64文件夹。 在Win2008中,您可以通过访问c:\Windows\Sysnative路径来实现此目的。 不幸的是在Win2003上需要修补程序(请参阅http://support.microsoft.com/kb/942589 )。

有一个解决方法 – 您可以创建一个指向c:\Windows\System32文件夹的NTFS联结点,并使用指向该联结点的路径而不是c:\Windows\System32 。 使用系统内部' junction.exe我设法从32位cmd.exe创建这样的交界点,并启动64位cmd.exe。