2015-01-13 9 views
6

Potrzebuję czytać i zapisywać pliki, które zawierają dane specyficzne dla aplikacji, udostępniane wszystkim użytkownikom.Jak zdobyć folder danych aplikacji (ProgramData)?

Próbowałem użyć Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), ale zwraca tylko C: \ ProgramData.

Moje pytanie brzmi:

Czy istnieje system jak Path.GetDirectoryName(Application.UserAppDataPath), który da mi dokładnie folder do zapisu, zgodnie z moją nazwą aplikacji i wersji?

Lub jest ProgramData nie jest właściwym miejscem do tego.

Dzięki.

+0

Czy próbowałeś? Windows.Storage.ApplicationData.Current.LocalFolder; – Xeun

+0

Czy przestrzeń nazw Windows jest również dostępna na WindowsForm - .Net 4.0? – paulinodjm

+0

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

Odpowiedz

4

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.

Powiązane problemy