2011-12-10 6 views
7

これは、7-Zip execution permissions on Windows Server 2008 64-bitのフォローアップです。Windows Server 2003 x64上で32ビットcmd.exeが64ビットcmd.exeを起動するにはどうすればよいですか?

複数の7-Zip EXEファイルを作成するには、あまりにも複雑なビルドプロセスを避けようとしています。 64ビットのレジストリエントリを読み込んだら、Javaプロセスを開始するには.cmdが必要です。ただし、1つのEXEファイルで成功するには、32ビットにする必要があります。

上記の質問は、Windows Server 2008で32ビットのcmd.exeを検出して64ビットにスワップさせるというトリックを発見しました。 Windows Server 2003でこれを行う方法はありますか? reg.exeが32ビットモードで64ビットのエントリにアクセスすることを可能にするWindowsの修正プログラムがありますが、回避策がなくなるように顧客のサーバーにあることは保証できません。

答えて

13

32ビットcmd.exeから64ビットcmd.exeを起動するには、c:\Windows\SysWow64フォルダにリダイレクトせずにc:\Windows\System32フォルダにアクセスできる必要があります。 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を起動しました。

関連する問題