Entwickler-Ecke

Sonstiges (.NET) - Löschen von benutzerspezifischen Einstellungen (%appdata%)


uga_uga_ug_ug - Sa 25.04.15 16:14
Titel: Löschen von benutzerspezifischen Einstellungen (%appdata%)
Hallo,

mein Programm wird von mehreren Benutzern auf einem PC verwendet.
Konfiguriert ein Benutzer das Programm, speichert es die Konfigurationen im benutzerspezifischen %appdata%-Verzeichnis.
Wenn das Programm jetzt (durch einen Admin-Benutzer) deinstalliert wird, kann ich durch

C#-Quelltext
1:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);                    

nur den Appdata-Pfad des ausführenden Benutzers auslesen.
Wie schaffe ich es, die benutzerspezifischen Einstellungen der anderen Benutzer zu entfernen?
Vielen Dank im voraus.


Th69 - Sa 25.04.15 17:39

Hallo und :welcome:

da fällt mir nur ein, über alle Benutzer (Users) zu iterieren und im zurückgegebenen Pfadnamen den aktuellen Benutzernamen auszutauschen.
Um das Users-Verzeichnis sowie den aktuellen Benutzer zu erhalten, würde ich

C#-Quelltext
1:
string userProfile = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);                    

aufrufen und dann per Path.GetDirectoryName und Path.GetFileName die beiden Strings extrahieren.

Als einen hilfreichen Link habe ich noch Force remove the user.config during uninstall? [http://stackoverflow.com/questions/6729257/force-remove-the-user-config-during-uninstall] gefunden (auch wenn es dort primär nur um die user.config des aktuellen Benutzers geht).
Und generell zu den Client-Settings: Client Settings FAQ [http://blogs.msdn.com/b/rprabhu/archive/2005/06/29/433979.aspx]