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 Filesfü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 Fileswä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.