Warum Programmdateien vs. Programmdateien (x86), aber keine AppData vs. AppData (x86)?

845
Hau

Unter Windows wird, abhängig von der Bitness eines installierten Programms, zu Program Filesoder gewechselt Program Files (x86).

Darüber hinaus haben Sie bei vielen Installationsprogrammen die Möglichkeit, " Für alle Benutzer " in Program Files/ Program Files (x86)oder " Nur für aktuelle Benutzer " zu installieren Users/<username>/AppData/<Local|Roaming>. Sie können diese Entscheidung auf der Grundlage von Privilegien oder Präferenzen treffen.

Es gibt jedoch keine Konvention für die Organisation benutzerspezifischer Programme nach Bit-Ness. Warum das?

0
Da die Verwendung von AppData für das Programm ebenso transparent ist wie Program Files vs. Program Files x86 (dh es ist nicht erforderlich) Ramhound vor 6 Jahren 1
@Ramhound Wenn die Verwendung von `AppData` vs.` Program Files` vs. `Program Files (x86)` für das Programm transparent ist ... warum haben wir dann sogar `Program Files` vs.` Program Files (x86) `? Hau vor 6 Jahren 0
Weil das WoW64-Subsystem (Windows 32-Bit unter Windows 64-Bit) noch vorhanden ist. Wenn das Programm korrekt geschrieben wurde, wird AppData für benutzerspezifische Daten verwendet. Ein Programm, das den von Microsoft festgelegten Entwurfsstandards entspricht, weiß nicht, dass es auf einen 32-Bit- oder 64-Bit-Registrierungsknoten zugreift. ** Eine 32-Bit-Anwendung auf einem 64-Bit-Betriebssystem weiß nicht, dass `Program Files x86` tatsächlich ausgeht. Wenn Sie die Anwendung debuggen, wenn sie den Best Practices entspricht, wäre dies einfach` Program Files` es funktioniert auf 64-Bit- und 32-Bit-Systemen ** Ramhound vor 6 Jahren 0

1 Antwort auf die Frage

-1
Origami

An application that is not running with raised privileges should does not have access to the Program Files and Program Files (x86) directories. This is good for safety, you know.

Next, once an application doesn’t install in Program Files or Program Files (x86) directory rather than installing into %APPDATA%, it will not face the situation that it needs to load a specific DLL file in a complex folder environment, %APPDATA% is very clear.

In general, the 32-bit version automatically installs to C:\Program Files (x86), and the 64-bit version automatically installs to the C:\Program Files, only few application will be installed in %APPDATA%, to my knowledge, only Chrome installs in %APPDATA%.

In brief, why there is not a AppData(x86) folder, because it is unnecessary.

Könnten Sie Folgendes erläutern: "Wenn eine Anwendung nicht mehr im Verzeichnis" Programme "oder" Programmdateien (x86) "installiert wird, als in% APPDATA% ...". " Wollen Sie damit sagen, dass die Anwendung in Programmdateien oder AppData installiert ist? Hau vor 6 Jahren 0
Was ist, wenn ich die 32-Bit-Version UND die 64-Bit-Version einer Anwendung auf AppData installieren möchte? Hau vor 6 Jahren 0
@Origami - Firefox und Outlook sind weitere Beispiele für Programme, die AppData verwenden. Ramhound vor 6 Jahren 0
@Hau - Wenn Sie ein Programm in AppData installieren, verstoßen Sie gegen die Microsoft-Designstandards. Anwendungen sollten in Programmdateien installiert werden, wenn sie 64-Bit und Programmdateien x86, wenn sie 32-Bit sind. Wenn Sie einen Fall haben, in dem Sie zwei verschiedene Profile (in AppData gespeicherte Datendateien) für die 32-Bit- und die 64-Bit-Version der Anwendung benötigen, bleibt es Ihnen überlassen, die Anwendung für Ihre Anwendung zu entwerfen. Normalerweise haben die 32-Bit- und die 64-Bit-Version von Outlook, Firefox und Chrome alle dasselbe Benutzerprofil Ramhound vor 6 Jahren 1
@Ramhound - Zusammenfassend (wenn wir den Microsoft-Designstandards folgen): ** 1. Installieren Sie keine Programme in `AppData`. Installieren Sie sie unter "Programme" / "Programmdateien (x86)", ** 2. ** AppData ist für Daten und nicht für Binärdateien gedacht. ** 3. ** Wenn Sie keine Administratorrechte haben, installieren Sie keine Programme ? Hau vor 6 Jahren 0