@Che_Bu_Rashka

Взаимодействие софта между собой и хранить настройки в 64 (и 32)-битном приложениях в реестре, правильно ли?

Написал 2 софтины (служба и клиентское приложение) на платформе 32-бит. Они общаются через реестр, ибо решил возложить на систему проблему совместного и одновременного доступа к настройкам этого хозяйства. Работают в таком ключе - клиентское ПО по запросу пользователя , что-то меняет в реестре (настройки), служба мониторит и дальше работает с новыми параметрами.
Наелся с этим...
1) Проблема при старте системы служба не может прочитать реестр, она стартует раньше чем входит пользователь (который может и не войти), причем иногда может прочитать, иногда нет. А допустим нужно получить какие-то настройки уже сразу, но реестр в ауте.. Что тут можно сделать?

2) где вообще лучше хранить настройки, чтобы имелся одновременный доступ к ним из разных программ на чтение и запись?
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 3
Aquarius-Michael
@Aquarius-Michael
Программист и железячник
Лучше храните настройки в сберегательной кассе, то есть храните в файлах настройки и называйте их как хотите. Хранить это в реестре - не лучшая затея.
Ответ написан
Комментировать
streetflush
@streetflush
В винде сейчас виртуализация как реестра так и programmfiles.
Так что папка Temp вам в руки (из системной переменной вытягивается путь). Если кончено не слишком критично потерять настройки после очистки CCleaner'ом.

И HKLM совсем плохое решение из за прав... Лучше уж HKCU если сервис стартует не от системной учетки.
Ответ написан
Комментировать
@kalapanga
По-моему, лучше будет доделать софт до полноценного клиент-серверного приложения. И это общение через файлы или реестр вообще исключить. Настройки читать/писать будет только сервер, туда, куда ему позволено. А клиент будет подключаться к нему и давать указание изменить тот или иной параметр.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы