In meiner Anwendung arbeiten Benutzer mit Dateien, die nur innerhalb der Anwendung benötigt werden (Powerpointpräsentationen usw.), d.h. sie werden von anderen Anwendungen nicht verwendet.
Nun bin ich gerade am rätseln, wie man das korrekt angeht.
Bisher habe ich für anwendungsspezifische Daten immer den IsolatedStorage verwendet. Allerdings stehen wir da nur sehr wenig Funktionen zur Verfügung. Gerade sowas wie Verzeichnisse innerhalb des Storages zu kopieren müssen mühsam nachimplementiert werden - daher vermute ich, es ist für meinen Anwendungsfall die falsche Lösung.
Welche Klassen/Objekte sollte man in diesem Fall verwenden?
Hallo IgG,
warum arbeitest du nicht direkt mit den Dateien? Also z.B. mit der FileStream-Klassen?
herbivore
Ich kann sie ja nicht einfach irgendwohin schreiben (man muss ja stets das Vista Sicherheitsmodell im Hinterkopf haben). Ich suche daher einen benutzerspezifischen Speicherort, in dem ich ganz normal mit Dateien und Verzeichnissen arbeiten kann.
Wie wäre es mit Eigene Dateien, mach ein Verzeichnis für deine Anwendung?
"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein
@LastGentleman: Gibts dafür ein Standardzugriffsverfahren? Directory.Create("C:\Dokumente und Einstellungen"...) wäre vermutlich der falsche Weg 😉
ja.
string myAppData = Environment.GetSpecialFolderPath(Environment.SpecialFolder.AppData) + "\\MyApplication";
Vielen Dank für Eure Hilfe!
Falls mal jemand später auf den Thread stößt, der richtige Befehl für das Userfolder ist:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
Im Anwendungsfall:
static internal string userSpecificAppFolder = string.Format("{0}{1}{2}",Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Path.DirectorySeparatorChar, mySettings.ApplicationName);
(in mySettings.ApplicationName wird der Name, z.B. "Meine Anwendung" gespeichert).
@IgG
Kannst Du Dein Beispiel noch so anpassen, dass es Path.Combine verwendet ?
Gruss
Programmierhans
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...