Freitag, April 29, 2011
64-Bit-Programme unter Windows aus einer 32-Bit-Umgebung heraus starten
Werden 32-Bit-Programme unter einem 64-Bit-Windows betrieben, landen die meisten Zugriffe auf "%windir%\system32" beim physikalischen Ordner "%windir%\SysWOW64". So wird beispielsweise beim Aufruf von "cmd.exe" jene Kommandozeile aus dem Pfad "%windir%\SysWOW64" gestartet.
Wenn die 64-Bit-Kommandozeile starten soll, muss der Aufruf folgendermaßen aussehen:
Denn das System stellt für 32-Bit-Umgebungen den Ordner "system32" der 64-Bit-Umgebung unter "sysnative" zur Verfügung.
Ob ein 32-Bit-Programm unter einem 64-Bit-Windows betrieben wird, kann man übrigens am Vorhandensein der Umgebungsvariablen PROCESSOR_ARCHITEW6432 feststellen (ihr Inhalt lautet "AMD64").
Wenn die 64-Bit-Kommandozeile starten soll, muss der Aufruf folgendermaßen aussehen:
%windir%\sysnative\cmd.exe
Denn das System stellt für 32-Bit-Umgebungen den Ordner "system32" der 64-Bit-Umgebung unter "sysnative" zur Verfügung.
Ob ein 32-Bit-Programm unter einem 64-Bit-Windows betrieben wird, kann man übrigens am Vorhandensein der Umgebungsvariablen PROCESSOR_ARCHITEW6432 feststellen (ihr Inhalt lautet "AMD64").