Hat Microsoft hat ein Best Practices-Dokument in Bezug auf die Speicherung von Daten App vs Benutzerdaten auf verschiedene Windows-Plattformen?
Frage
Wenn Sie eine Anwendung erstellen, die zu viele Versionen von Windows gezielt werden, was die beste Praxis ist, wenn die Anwendung zu bestimmen, bestimmte Daten gespeichert werden sollen. Im Einzelnen:
- Anwendungsspezifische Daten (z app Config-Daten)
- benutzerspezifische Daten / Einstellungen
Ich weiß, auf Windows Vista zum Beispiel gibt es Umgebungsvariablen wie% APPDATA%, die verwendet werden könnten, aber was ist mit Windows 7, Windows XP, Windows 98.
Meine Hauptfrage ist, hat Microsoft eine Best Practices-doc für diese haben, die Dateisystem Standorte für die verschiedenen Arten von Daten (App vs. User) umreißt und die Auswirkungen auf die Sicherheit, die im Auge werden müssen gehalten beim Lesen / Schreiben an diesen Orten?
Ich bin auch daran interessiert, wie dies bezieht sich nicht nur auf .NET-Anwendungen (wo Application genutzt werden kann), sondern auch in nicht verwalteten C / C ++ Anwendungen.
Dank Pax und Remus für beide der großen Antworten. Ich habe diesen Artikel als auch gefunden (spezifisch für XP):
Lösung
Es gibt eine gute Beschreibung hier die verschiedenen CSIDL Werte und die Ordner, die sie beziehen sich auf (eine Beschreibung enthält, die hoffentlich sagen, sollten Sie, was Sie wissen müssen).
Es enthält auch Links zu den Funktionen sollten Sie nutzen diese speziellen Ordner Pfade abgerufen werden.
Beachten Sie, dass, wie von Vista, wobei das Verfahren ein wenig verändert hat. Es nutzt jetzt KNOWNFOLDERID
statt CSIDL
und die Funktionen wurden ebenfalls geändert. Siehe hier .
Sie können immer noch die älteren Funktionen (im Moment), da ich sie sind jetzt nur Wrapper um die neuen glauben. An einem gewissen Punkt in der Zukunft, dass ändern.
Andere Tipps
Diese in der Regel in der Windows-Software-Logo-Programm (Verbindung unterbrochen) . Der Link ist auf dem Windows 7 Logo Anforderungsdokument, aber ähnliche Dokumente vorhanden für XP, Windows 2003, Windows Vista und Windows 2008. In den technischen Anforderungen Abschnitt werden Sie einige der Informationen finden Sie suchen:
Alle Anwendungsdaten, die müssen sein bei den Nutzern auf dem Computer geteilt sollte innerhalb
ProgramData
gespeichert werdenAlle Anwendungsdaten exklusiv für ein bestimmte Benutzer und nicht mit anderen geteilt werden mit anderen Benutzern des Computers muss gespeichert in
Users\<username>\AppData
„pro-Maschine“ Installationen, Benutzer Daten müssen auf den ersten Lauf geschrieben werden und nicht während der Installation. Das ist weil es richtig Benutzer keine Speicherort zum Speichern von Daten zum Zeitpunkt der Installation.
EDIT:
Windows-10-Benutzer, suchen Sie die Zertifizierungs-Anforderungen für Windows Desktop Apps (Abschnitt 10)