Czy istnieje system taki jak Path.GetDirectoryName (Application.UserAppDataPath), który da mi dokładny folder do zapisu, zgodnie z moją nazwą aplikacji i wersją?
Nie, nie istnieje, przynajmniej podczas pracy w systemie Windows 7 (nie wiadomo o aplikacjach Windows 8/WinRT/Windows Store). Rozwiązaniem, które można wykonać, jest dołączenie wyjścia o niestandardowej ścieżce do aplikacji. Zazwyczaj, aby zmniejszyć ryzyko zderzenia, może to być coś w rodzaju YourOrganization\YourApplication
lub YourFullName\YourApplication
, ewentualnie także dołączanie wersji.
Czy też ProgramData nie jest odpowiednim miejscem do tego.
To jest odpowiednie miejsce do przechowywania informacji dotyczących całej aplikacji na dysku. Informacje związane z aplikacją i różne dla każdego użytkownika systemu Windows logującego się na komputerze powinny iść w miejsce: <User folder>\AppData\Roaming\...
lub <User folder>\AppData\Local\...
.
Strzeż: jak ktoś już wspomniano w uwagach, zwykle trzeba uprawnień administratora, aby pracować wewnątrz C: \ ProgramData ..., stąd trzeba by przygotować projekt instalacyjny, że podczas fazy instalacji, utworzy folder wewnątrz ProgramData i poda odpowiednie uprawnienia.
Czy próbowałeś? Windows.Storage.ApplicationData.Current.LocalFolder; – Xeun
Czy przestrzeń nazw Windows jest również dostępna na WindowsForm - .Net 4.0? – paulinodjm
Hmm, dobre pytanie, ale nie sądzę, przepraszam. Powinieneś jednak znaleźć ścieżkę, która pasuje do twoich pragnień: http://www.codeproject.com/Tips/370232/Where-should-I-store-my-data – Xeun