Frage

Ich habe eine WPF-Anwendung, die für alle Benutzer von einem Computer mit denselben Einstellungen ausgeführt werden muss.Die Einstellungen müssen gelesen / geschrieben werden.Ich habe zuvor Benutzerkonfigurationseinstellungen in CommonApplicationData gespeichert, z. B.

var settingsFile = Path.Combine(Environment.GetFolderPath(
  Environment.SpecialFolder.CommonApplicationData),
    "[company]", "[product]", "settings.xml");

Allerdings habe ich heute Morgen gelesen, dass CommonApplicationData für Roaming-Profile verwendet wird, was bedeutet, dass sie nicht maschinenspezifisch sind.Soweit ich das beurteilen kann, haben wir die folgenden Optionen für Anwendungsdaten ( source ):

// Store application-specific data for the current roaming user.
// A roaming user works on more than one computer on a network.
// A roaming user's profile is kept on a server on the network and is loaded onto a system ' when the user logs on.
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);


// Store in-common application-specific data that is used by all users.
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);


// Store application-specific data that is used by the current, non-roaming user.
System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

Zusammenfassend sind die Optionen

  • Einzelbenutzer, Roaming
  • Alle Benutzer, Roaming
  • Einzelbenutzer ohne Roaming

    Was ich brauche, sind alle Benutzer, die kein Roaming betreiben.Mein erster Gedanke ist, alles in den Installationsordner zu werfen, aber das scheint ein wenig altmodisch zu sein?

    Gedanken?

War es hilfreich?

Lösung

Hier ist eine gute Erklärung vonder AppData-Ordner und andere Elemente, die sich auf den Roaming-Benutzer beziehen.

nach dem MSDN-Dokumentation :

CommonApplicationData lautet "Das Verzeichnis, das als gemeinsames Repository für anwendungsspezifische Daten dient, das von allen Benutzern verwendet wird"

während

LocalApplicationData lautet "Das Verzeichnis, das als gemeinsames Repository für anwendungsspezifische Daten dient, das vom aktuellen, nicht-Roaming-Benutzer verwendet wird.

Andere Tipps

Ich bevorzuge Anwendungseinstellungen , die anwendungsweit sein könnenoder pro Benutzer, wie Sie es pro Einstellung wünschen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top