2013-04-29 17 views
41

Ich muss einige benutzerspezifische Konfigurationsdaten für mein Programm speichern. Sowohl Anwendungsdaten/AppData (im Verzeichnis des Benutzers) als auch ProgramData (im Stammverzeichnis des Systemlaufwerks) erscheinen als vernünftige Orte, um es zu platzieren.Was ist der Unterschied zwischen ProgramData und AppData?

Was ist der Unterschied zwischen Programmdaten und Anwendungsdaten und welchen sollte ich verwenden?

Antwort

2

Ich glaube, Sie alle Benutzer bestimmte Dateien in appdata setzen sollte, da es in

C:\Users\UserName\AppData 

und Program ist nicht spezifisch für den Benutzer befindet. Es könnte, denke ich, verwendet werden, um Daten Ihres Programms zu teilen, wenn es von verschiedenen Benutzern benutzt wird.

see this stackoverflow question

49

Um es gerade gesagt, Programdata enthält Daten Anwendung, die nicht benutzerspezifische .Diese Daten, die auf dem Computer für alle Benutzer zur Verfügung stehen wird. Irgendwelche globalen Daten sollten hier eingefügt werden.

AppData Ordner enthält Konfigurationseinstellungen, heruntergeladene Informationen/Dateien für einen bestimmten Benutzer. So können beispielsweise benutzerspezifische Einstellungen und Profilkonfigurationen im Ordner AppData gespeichert werden. Der Ordner AppData ist weiter in drei Unterordner unterteilt:
Roaming - Dieser Ordner enthält Daten, die mit Ihrem Benutzerprofil von einem Computer zu einem anderen verschoben werden können.
Lokal - Dieser Ordner enthält Daten, die nicht mit Ihrem Benutzerprofil verschoben werden.
LocalLow - In diesem Ordner können Sie Informationen zu einem niedrigen Level eingeben, z. B. Informationen zum Webbrowser, der in einem geschützten Modus ausgeführt wird.

Sie können nun entscheiden, welche Art von Informationen am besten für die Speicherung geeignet sind.

Referenz Links: Windows CSIDL und AppData

+0

Wenn eine Protokolldatei durch den Installateur gehen erstellt haben? Es klingt wie eine Anwendung spezifisch. Aber es klingt auch wie ein benutzerspezifisches gleichzeitig w.r.t. der Benutzer, der das Installationsprogramm ausgeführt hat (insbesondere wenn es während der Installation die Option "Nur für mich installieren" verwendet). Warum interessiert sich ein Benutzer, der das Installationsprogramm nicht ausgeführt hat, für die entsprechende Protokolldatei? – RBT

+0

Ihre Definition von Local und ProgramData klingen gleich, möchten Sie klären – Epirocks