Де зберігати свої параметри?

Є програма, яка повинна зберігати і завантажувати деякі параметри: позицію і розмір головного вікна програми, ідентифікатор вибраної мови, час останньої перевірки оновлення. Я задався питанням - де програма повинна зберігати свої налаштування? Вирішив зібрати інформацію на цю тему і поділиться нею з вами. Можливі теки, для зберігання параметрів і файлів програми: • Program Files • My Documents • User\Application Data • User\Local Settings\Application Data • All Users\Application data Program Files Зберігати параметри в теці самої програми не рекомендується, користувачеві банально може просто не вистачити прав на запис і читання каталогу програми. Плюс (вірніше мінус) налаштування користувачів будуть загальними, ніхто не зможе налаштувати програму під себе або зберігати в ній тільки персональні дані. My Documents XP: Documents and Settings\User\My Documents Vista: Users\User\Documents На мій погляд не вірний підхід. Папку не дарма назвали Мої Документи. Тому, якщо програма не формує будь-яких документів, а повинна всього-лише зберігати свої налаштування, то їм там не місце. Не знаю як Вас, а мене злегка дратують теки всередині теки з документами. Я їх там, між іншим впорядковую, розпихаю по підкаталогах і тут на тобі, заходжу в папку і бачу Visual Studio 2008. User\Application Data XP: Documents and Settings\User\Application Data Vista: Users\User\AppData\Roaming Файли з цієї теки входять до складу пересувних профілів (roaming profiles, per-user). Тобто. якщо ви бажаєте, щоб ваші програми могли пересуватися разом з профілем користувача, зберігайте їх у цій теці. User\Local Settings\Application Data XP: Documents and Settings\User\Local Settings Vista: Users\User\AppData\Local У цій теці можна зберігати файли, що не входять до складу переміщуваних профілів (per-user-per-machine), а також тимчасові та великі за розміром файли, переміщення яких або не потрібно (тимчасові, кеш, інше робоче «сміття»), або вимагатиме значних часових витрат (зберігайте файл розміром у пару сотень мегабайт у профілі, що переміщується, і користувач обов'язково скаже вам «спасибі». All Users\Application data XP: Documents and Settings\All Users\Application Data Vista: ProgramData У цій теці можна зберігати файли, які є спільними для всіх користувачів комп'ютера, наприклад, загальну базу даних, набір загальних документів, кліпарт тощо. Ця тека не входить до складу пересувних профілів (per-machine). Звичайні користувачі (не адміністратори) мають доступ до цієї теки в режимі тільки для читання.