1. Хранить в реестре (сам Windows советует так делать)
2. Хранить в папке C:\Users\пользователь\Application Data\название программы (разрешённой для записи)
1-ый вариант мне видится не очень хорошим, т.к. не хочется замусоривать реестр, к тому же каждый раз трудно туда добираться вручную.
Самый верный вариант — писать в папку пользователя (2-ой вариант)
Здравствуйте, shrewd, Вы писали:
S>А как делаете вы?
Разное в разных местах.
Реестр хорошо работает с мусором, в современной венде оно неплохо масштабируемая ACID база данных. Но файловая система всё равно лучше, для больших объёмов.
Плюс реестра в эффективном I/O с маленькой гранулярностью. Например, положения окна может меняться несколько раз в секунду, занимает 16 байт данных. Любой доступ к файлам (кроме чтения/записи в заранее открытую и постоянно используемую базу данных) на порядки медленнее, чем в реестр.
Плюсы файловой системы очевидно, пользователям лучше видно, ёмкость больше, если формат текстовый можно контроль версий.
Здравствуйте, shrewd, Вы писали:
S>А как делаете вы?
сильно зависит от конечного пользователя: для корпоративных используем msi, настройки пользователя — в HKCU, административные прописываются при раскатывании GPO на машины. Если софт не предназначен для тысяч пользователей, а специализированный и предназначен для узкой группы — обычно настройки пишутся в банальный ini т.к. софт не ставится, а просто xcopy в любой каталог.
Вообще Петя Нортон в дрвнем двухтомнике своём приводил выжимку требований к сертификации "Designed for Microsoft Windows", сейчас требования поменялись да и Microsoft ооочень часто сам не выполняет их по вполне понятным причинам.
Здравствуйте, RonWilson, Вы писали:
RW>Вообще Петя Нортон в дрвнем двухтомнике своём приводил выжимку требований к сертификации "Designed for Microsoft Windows", сейчас требования поменялись да и Microsoft ооочень часто сам не выполняет их по вполне понятным причинам.
Если программа мелкая, то делать бекап удобнее, когда софтина и данные в одном каталоге, например Total Commander я бекаплю с настройками и таскааю между машинами целиком.
Здравствуйте, marcopolo, Вы писали:
M>Если программа мелкая, то делать бекап удобнее, когда софтина и данные в одном каталоге, например Total Commander я бекаплю с настройками и таскааю между машинами целиком.
зачем? так часто переставляете ОС? видел я психопатов, которые и explorer.exe на TOTALCMD.EXE меняли с кучей плагинов и думали что "мастдай" — нафига это всё? хранить надо там, где меньше будет UAC вызывать и раздражение от неочищенных кишков прожки. Нормальные деинсталляторы предлагают сохранить настройки или зачистить всё под корень.
Здравствуйте, marcopolo, Вы писали:
M>Если программа мелкая, то делать бекап удобнее, когда софтина и данные в одном каталоге, например Total Commander я бекаплю с настройками и таскааю между машинами целиком.
Оно, может быть, и удобнее, только всякие «AI» и «ML» антивирусов могут считать запись в папку с программой фактором малварности. А что будет потом, тут уже многократно обсуждали. ;-(