Warum heißt System32 auf einem 64-Bit-Windows-Betriebssystem immer noch System32? [Duplikat]


2

Ich habe mich schon eine Weile gefragt. Ich persönlich denke, dass System32 als 32-Bit-Windows-Betriebssystem sinnvoll wäre. Wenn Sie jedoch ein 64-Bit-Windows-Betriebssystem haben, heißt das Dateisystem immer noch System32. Kann mir jemand erklären, warum das so ist und warum Microsoft es so macht?


Mögliche Duplikate von Warum gehen 64-Bit-DLLs auf System32 und 32-Bit-DLLs auf SysWoW64 unter 64-Bit-Windows "Die Absicht war, System32 umzubenennen, aber so viele Anwendungen waren für diesen Pfad hartcodiert, dass es nicht möglich war, ihn zu entfernen."
phuclv

Dieses Zitat ist allerdings ein bisschen verrückt. Alte ältere Apps mit fest codierten Pfaden würden niemals mit 64-Bit-DLLs arbeiten und sehen system32 nicht als system32. WoW64 verhindert das. Grundsätzlich wäre der Grund, wenn Sie den Pfad hart codieren und dann denselben Code zweimal als 64bit und einmal als 32bit ausführbar kompilieren. Warum dies als Fall angenommen wird, der häufig vorkommt, weiß ich nicht, weil Leute, die zu faul sind, Variablen zu verwenden, niemals für 64bit geeignet wären.
Syberdoor

Antworten:


1

Rückwärtskompatibilität.

Als Microsoft das erste 64-Bit-Betriebssystem herausbrachte, kamen die einzigen 64-Bit-Programme mit dem Betriebssystem. Da MS Office nicht aktualisiert wurde, musste das Betriebssystem die 32-Bit-Programme unterstützen. Seit der Installation von MS Office Systemdateien in \ $ Windows $ \ system32 erwartet wurde, musste das Verzeichnis erhalten bleiben.


3
Es ist nicht für MS Office. Es ist für viele andere Codes, die hart codierte Pfade verwenden. Darüber hinaus werden 32-Bit-Bibliotheken (wie MS Office) in SysWOW64 verwendet, was von der Office-Installation nicht erwartet wurde. Daher ist Ihre Antwort falsch. Die Pfade in 32-Bit-Programmen werden vom Emulator automatisch umgeleitet. 64-Bit-Programme verwenden system32
phuclv

@ LưuVĩnhPhúc Warum sollten sie 32-Bit-Code in einen Ordner namens SysWOW64 und den 64-Bit-Code in System32 einfügen?
LDC3

Haben Sie die Links in den Fragenkommentaren nicht gelesen? Es ist aus Gründen der Abwärtskompatibilität. Viele ältere Codes haben "\\ system32" hartcodiert. Daher hat sich MS dazu entschieden, 64-Bit-Bibliotheken in system32 zu belassen, sodass der Code für 64-Bit-Windows ohne Änderung neu kompiliert werden kann. Das liegt nicht daran, dass nur MS Office die Dinge in system32 erwartet
phuclv

@ LưuVĩnhPhúc Entschuldigung, Ihren Kommentar habe ich oben nicht gesehen.
LDC3

Das macht Sinn. Ich habe Ihre Antwort und die doppelte Frage durchgelesen und kann sehen, warum sie immer noch System32 vs.
orias
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.