2011-12-10 12 views
7

Jest to kontynuacja do 7-Zip execution permissions on Windows Server 2008 64-bit.W jaki sposób 32-bitowy plik cmd.exe uruchamia 64-bitowy plik cmd.exe w systemie Windows Server 2003 x64?

Próbuję uniknąć zbyt skomplikowanego procesu kompilacji, aby utworzyć wiele plików EXE 7-Zip. Potrzebuję .cmd, aby uruchomić mój proces Java po przeczytaniu 64-bitowych wpisów do rejestru. Jednak aby odnieść sukces z pojedynczym plikiem EXE, musi być 32-bitowy.

Powyższe pytanie znalazło sposób na uzyskanie przez Windows Server 2008 32-bitowego cmd.exe i zamianę go na 64-bitowy. Czy istnieje sposób, aby to zrobić w systemie Windows Server 2003? Istnieje poprawka dla systemu Windows, która pozwala reg.exe na dostęp do 64-bitowych wpisów w trybie 32-bitowym, ale nie mogę być pewny, że jest na serwerze klienta, więc obejście to nie da.

Odpowiedz

13

Aby uruchomić 64-bitowy plik cmd.exe z 32-bitowego pliku cmd.exe, musisz mieć dostęp do folderu c:\Windows\System32 bez przekierowania do folderu c:\Windows\SysWow64. W Win2008 można to osiągnąć, przechodząc do ścieżki c:\Windows\Sysnative. Niestety na Win2003 wymagana jest poprawka (patrz http://support.microsoft.com/kb/942589).

Istnieje obejście - można utworzyć punkt połączenia NTFS, który kieruje do folderu c:\Windows\System32 i użyć ścieżki do tego punktu połączenia zamiast c:\Windows\System32. Korzystając z System Internals 'junction.exe udało mi się stworzyć taki punkt połączenia z 32-bitowego cmd.exe i uruchomić 64-bitowy plik cmd.exe.

Powiązane problemy