Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
$ ls -lamain.ini[usersettings]
;storage = registry
storage = file
dir = %appdata%/my_mega_app
Program Files
Хранить настройки в папке самой программы не рекомендуется, пользователю банально может просто не хватить прав на запись и чтение каталога программы. Плюс (вернее минус) настройки пользователей будут разделяемыми, никто не сможет настроить программу под себя или хранить в ней только персональные данные.
XP, админские права=>
переустанавливать систему приходится регулярно
Можно поступить итого проще: создать файлы user1.ini, user2.ini… в поддиректории UsersSettings и раздать им права.Удаление пользователя с компа оставит его файл в Вашей директории = мусор. Не забываем что есть многопользовательские сервера, скажем на фирмах, с удаленным доступом, где пользователи достаточно часто удаляются/меняются. В случае с одним файлом настроек нужно будет решать проблемы одновременного доступа и пр. коллизии…
Программа же, задав соответствующие права файлу...
— Удалить настройки?: Программа удалит раздел с данными пользователя из файла.
— Перенести настройки?: Пользователь берет директорию с программой и копирует на другой компьютер вместе с настройками и не мучается с поиском файлов настроек в глубине %USERPROFILE%.
Где программе хранить свои настройки?