Sysnative-Ordner in Windows 64-Bit erklärt

Der Sysnative-Ordner in Windows 64-Bit ist ein virtueller Ordner und ein Alias, der auf den System32-Ordner auf 64-Bit-Systemen verweist. Es ist physisch nicht auf Ihrem System vorhanden. In diesem Beitrag werden die Funktionen des erklärtSysnative-Ordner in Windows.

Mit der Veröffentlichung von Windows 7 in der 64-Bit-Version wurde eine kleine Änderung in der normalen Zuordnung von Ordnern im Windows-Verzeichnis eingeführt. In der 64-Bit-Edition von Windows 11, Windows 10, Windows 8 und Windows 7 sind zwei neue Ordner enthaltenSysnativUndSysWOW64Ordner. Dies ist nur in 64-Bit-Windows möglich. Wenn Sie ein 32-Bit-Windows auf einem 64-Bit-Computer ausführen, werden sie nicht angezeigt. Sie werden sie auch nicht sehen, wenn Sie 32-Bit-Windows auf einem 32-Bit-Computer ausführen.

Außerhalb des Windows-Verzeichnisses gibt es einen weiteren Ordner mit dem NamenProgrammdateien (x86). Wir sind an den Namen des Ordners „Programme“ gewöhnt, der die ausführbaren Dateien unserer Programme enthält. In 64-Bit-Systemen werden die 64-Bit-Programme im Ordner „Programme“ gespeichert, während die 32-Bit-Programme in „Programme“ (x86) gespeichert sind. Allerdings verwendet Windows so etwas wie eine Emulation zum Ausführen von 32-Bit-Programmen auf einem 64-Bit-Computer. Daher müssen Sie die Systemordner unter Windows (64-Bit) kennen und verstehen, damit Sie wissen, wie Sie auf die gewünschte Datei zugreifen.

Im Gegensatz zu den 32-Bit-Maschinen, bei denen die 32-Bit-DLLs im gespeichert sindSystem32-Ordner, die 64-Bit-Version von Windows speichert DLLs für 64-Bit im Ordner System32. Dies soll die Programmierung erleichtern und Abwärtskompatibilität gewährleisten. Das heißt, wenn ein 64-Bit-Programm in seinem Code auf System32 verweist, erhält es beim Aufruf automatisch die 64-Bit-DLL. Dies hilft Entwicklern, da sie den Code in ihren Programmen für Windows 64-Bit nicht ändern müssen.

Kurz gesagt: Windows hat alle 32-Bit-DLLs aus dem System32-Ordner im Windows-Verzeichnis in einen anderen Ordner verschoben, sodass frühere Programme nicht neu codiert werden müssen, um die richtigen DLLs zu erhalten, selbst wenn APIs verwendet werden – nach dem Upgrade auf 64-Bit. Das Problem tritt auf, wenn eine 32-Bit-Anwendung versucht, auf den System32-Ordner zuzugreifen. In diesem Fall stürzt das Programm ab, da es nicht für die Verarbeitung von 64-Bit-DLLs geschrieben ist.

Lesen: Was ist das?

SysWOW64-Ordner in Windows 64-Bit

Alle 32-Bit-DLLs wurden auf die neue verschobenSysWOW64-Ordnerin der 64-Bit-Version von Windows 11, Windows 10, Windows 8 und Windows 7. Wenn die 32-Bit-Programme also 32-Bit-DLLs aufrufen, müssen sie den SysWOW64-Ordner erreichen.

Lesen:

Möglicherweise haben Sie das Gefühl, dass die Entwickler ihre Programme und Anwendungen scannen müssen, um die DLL-Funktionen auf den SysWOW64-Ordner zu verweisen. Aber Microsoft hat sich bereits darum gekümmert. Wenn es sich um ein 32-Bit-Programm handelt, das aufruftC:\Windows\System32, ein Emulator leitet den Pfad zu umC:\Windows\SysWOW64. Das heißt, um 32-Bit-Programme in Windows 64-Bit auszuführen, wird ein Emulator verwendet, damit eine ordnungsgemäße Abwärtskompatibilität gewährleistet ist und Fehler beim Aufruf von DLL-Dateien vermieden werden.

Es kann Fälle geben, in denen ein 32-Bit-Programm oder eine 32-Bit-Anwendung eine 64-Bit-DLL benötigt. In diesem Fall müssen Sie den Umleitungsordner verwendenSysnativ. Sie können sich SysNative als einen virtuellen Ordner und einen Alias ​​vorstellen, der auf den System32-Ordner verweist. Es ist als solches physisch nicht auf Ihrem System vorhanden.

Wenn Ihr 32-Bit-Programm also auf eine 64-Bit-DLL zugreifen muss, verwenden Sie es nichtC:\Windows\System32weil der 32-Bit-Programmemulator es in den 32-Bit-DLL-Ordner namens SysWOW64 überträgt. Verwenden Sie stattdessenC:\Windows\SysNativeals Pfad zum DLL-Programm. Wenn Sie Sysnative im Pfad verwenden, wird es in den Ordner System32 statt in den Ordner SysWOW64 umgeleitet.

Wenn Sie den Datei-Windows-Explorer öffnen, finden Sie den Sysnative-Ordner nicht unter C:\Windows. Auch wenn Sie die Ordneroptionen auf festlegen. Dies liegt daran, dass der Windows-Datei-Explorer ein 64-Bit-Programm ist, wenn er unter 64-Bit-Windows ausgeführt wird, und der Sysnative-Ordner nur für 32-Bit-Programme sichtbar und zugänglich ist.

Um zusammenzufassen:

  1. System32-Ordner enthalten 64-Bit-DLL-Dateien.
  2. SysWOW64 enthält 32-Bit-DLL-Dateien und die 32-Bit-Programme werden automatisch in diesen Ordner umgeleitet
  3. Sysnative ist ein Umleitungsordner, der es 32-Bit-Programmen ermöglicht, 64-Bit-DLLs aufzurufen.

Zusätzliche Lektüre:MSDN.

Lesen: Was ist das?

Related Posts