Ich verwende seit dem CTP die 64-Bit-Version von Windows 7 und habe einige Probleme mit Anwendungen, die im C:\Program Files (x86)
Ordner installiert werden . Was ist der Zweck von 2 separaten Programmdateiverzeichnissen?
Jedes Programm, das ich installiert habe, wurde in den C:\Program Files (x86)
Ordner verschoben. Es scheint keine Rolle zu spielen, ob die App 32 oder 64 Bit ist. Warum werden keine 64-Bit-Apps platziert C:\Program Files
?
Gibt es eine Möglichkeit, die Standardeinstellung zu ändern C:\Program Files
? Würde es irgendetwas durcheinander bringen, wenn ich einfach alles hineinstecke C:\Program Files
?
Wenn ein separater Ordner für 64-Bit-Apps tatsächlich von Vorteil ist, scheint es sinnvoller gewesen zu sein, ihn C:\Program Files
für x86-Apps zu verwenden und einen neuen C:\Program Files (x64)
Ordner für die neuen 64-Bit-Apps zu erstellen . Dies würde dazu beitragen, die Abwärtskompatibilität aufrechtzuerhalten. Ich arbeite als Softwareentwickler und einige meiner Projekte enthalten Pfadverweise auf Bibliotheken unter C:\Program Files
. Jetzt sind diese Verweise auf dem Windows 7-Computer, auf dem sie abgelegt wurden, fehlerhaft C:\Program Files (x86)
. Ich habe sogar versucht, den Zielspeicherort im Installationsprogramm zu ändern C:\Program Files
, aber das wurde ignoriert und die App ging C:\Program Files (x86)
trotzdem hinein.
Dies ist sehr frustrierend, da ich Quellcode zwischen 32- und 64-Bit-Computern freigeben muss und nicht mit einer Konfigurationsdatei herumspielen möchte, die den Pfad zu diesen Bibliotheken auf verschiedenen Computern unterschiedlich festlegt.
Bearbeiten in Bezug auf Umgebungsvariablen: (. Mit nur Englisch Werte der Variablen der Einfachheit halber Standard) Auf einem 64-Bit - Maschine %ProgramFiles%
wird , C:\Program Files
während die Marke neue Variable %ProgramFiles(x86)%
sein wird C:\Program Files (x86)
. Wenn Sie also ein 32-Bit-Programm haben, das den Ordnerpfad finden muss, unter dem es installiert werden soll, muss es überprüfen, ob es in einer 32-Bit- oder einer 64-Bit-Version von Windows ausgeführt wird um zu wissen, welche Umgebungsvariable verwendet werden soll. Alle 32-Bit-Apps, die ohne diese Überlegung geschrieben wurden, müssen aktualisiert werden, damit sie auf einem 64-Bit-Computer ordnungsgemäß funktionieren. Selbst bei Verwendung von Umgebungsvariablen ist die Abwärtskompatibilität beeinträchtigt.
Auch %ProgramFiles(x86)%
existiert nicht auf 32-Bit-Versionen von Windows. Wenn dies der Fall wäre, könnten 32-Bit-Apps diese Umgebungsvariable einfach immer verwenden und benötigen keine bedingte Logik, die darauf basiert, auf welchem Betriebssystem sie ausgeführt werden.
%ProgramFiles%
Umgebungsvariablen dies gelöst hätte. Ich bin mir nicht sicher, wie ich mit dem x86 / 64-Bit-Unterschied umgehen soll.