Nasze aplikacje win32 (napisane w C++) działają już od ponad 10 lat i nie zostały zaktualizowane, aby przestrzegać "dobrych praktyk" w zakresie miejsca przechowywania plików. Aplikacja domyślnie instaluje się w folderze "C: \ AppName" i przechowuje pliki generowane przez aplikacje, pliki konfiguracyjne, pobrane pliki i zapisane dokumenty użytkownika w podfolderach tego folderu.Gdzie mój program win32 powinien przechowywać swoje pliki?
Prawdopodobnie jest to "najlepsza praktyka" domyślnie instalowana w "c: \ Program Files \ AppName" w dzisiejszych czasach. Ale jeśli to zrobimy, gdzie powinniśmy zachować resztę naszych plików? Począwszy od Vista, zapisywanie w folderze plików programu jest problematyczne i wydaje się, że istnieje milion innych miejsc, w których można umieścić różne pliki i jestem zdezorientowany.
Czy istnieje odniesienie do tego, co się dzieje?
Edycja: Aby rozwinąć na pytania osób pytało tej pory:
jestem zaznajomiony z funkcją funkcji SHGetFolderPath, ale istnieje wiele, wiele opcji, które można uzyskać od to i nie mogę znaleźć zasobu, który mówi "Oto dokładnie, do czego każda z tych opcji jest używana i kiedy zechcesz jej użyć".
Do tej pory zrobiliśmy "Wszystkie pliki, w tym zapisane pliki użytkownika, pod jednym folderem" i wszystko działało dobrze - ale nie wtedy, gdy użytkownicy chcą zainstalować aplikację w folderze Program Files. Z jakiegoś powodu wirtualizacja małpowania wokół tej Vista nie działa dla naszej aplikacji; jeśli i tak zamierzamy wprowadzać zmiany, równie dobrze możemy starać się robić rzeczy "w odpowiedni sposób", ponieważ nie chcemy ich zmieniać w ciągu 12 miesięcy.
Dalsze pytanie:
Mamy zawierać pewne "próbka" dokumenty z naszej aplikacji, które aktualizują się co jakiś czas. Czy warto instalować je w Moich Dokumentach, jeśli będziemy je nadpisywać co kilka miesięcy? A może My Documents jest całkowicie bezpieczny dla użytkowników?
Jeśli nie możemy zainstalować ich w folderze Moje dokumenty, gdzie powinniśmy je umieścić, aby użytkownicy mogli je łatwo zobaczyć?
To nie tylko vista: Podejrzewam, że jeśli przetestujesz swoją aplikację w XP, działając jako _standardowy użytkownik_, będziesz mieć takie same problemy z instalacją istniejącej konfiguracji w folderze plików programu. –