Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Господа, посоветуйте, плизз, в какой ветке реестра наиболее правильно хранить настройки службы. Интуитивно чувствую, что HKEY_LOCAL_MASHINE, но хотелось бы уточнить - может, кто сталкивался?
13 июн 15, 18:59    [17767299]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Michael Longneck
Member

Откуда: Москва
Сообщений: 2269
Если MS может служить примером, то

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters
13 июн 15, 19:23    [17767324]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

S_Gur
может, кто сталкивался?

По своему опыту могу сказать, что реестр вообще стал плохим местом для их хранения после
того, как его виртуализировали. Рекомендую хранить настройки в файле в COMMON_APP_DATA.

Posted via ActualForum NNTP Server 1.5

13 июн 15, 19:24    [17767329]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Я надеюсь, что служба будет иметь доступ ко всей ветке HKEY_LOCAL_MASHINE? Конфигуратор я пишу с использованием EhLib-овского TPropStorage, не хотелось бы всю работу с реестром ручками прописывать... Хотя, если придется, тоже невелика проблема
13 июн 15, 21:11    [17767604]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Dimitry Sibiryakov
S_Gur
может, кто сталкивался?

По своему опыту могу сказать, что реестр вообще стал плохим местом для их хранения после
того, как его виртуализировали. Рекомендую хранить настройки в файле в COMMON_APP_DATA.


В каком именно COMMON? All Users?
13 июн 15, 21:28    [17767663]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

S_Gur
Конфигуратор я пишу с использованием EhLib-овского TPropStorage, не хотелось
бы всю работу с реестром ручками прописывать... Хотя, если придется, тоже невелика
проблема

Думаешь, невелика? Ну-ну...

Posted via ActualForum NNTP Server 1.5

13 июн 15, 21:34    [17767686]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Dimitry Sibiryakov, а чего тут думать? Делал уже. Нудно, но беспроблемно. Просто идея со службой вылезла как всегда неожиданно, а в приложении, которое сейчас будет работать конфигуратором, все завязано на сохранении содержимого эдитов с помощью TRegPropStorageEh. Хотелось бы там оставить все, как есть, а служба будет оттуда все тащить
13 июн 15, 21:41    [17767715]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

S_Gur
Делал уже. Нудно, но беспроблемно.

Тогда, может подскажешь, как в приложении записать в ветку HKLM\Software что-то, что
служба может прочитать, не прибегая к запуску этого приложения с повышением прав?

Posted via ActualForum NNTP Server 1.5

13 июн 15, 21:49    [17767746]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Dimitry Sibiryakov, как вариант - сделать первое сохранение в реестре, а потом настроить на созданную ветку соответствующие права. Меня интересует именно область видимости реестра службе, когда она запускается при перезагрузке компа до логина пользователя. До сих пор я успешно пробавлялся HKEY_CURRENT_USER, но в данном случае это не прокатит...
13 июн 15, 21:57    [17767780]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

S_Gur
как вариант - сделать первое сохранение в реестре, а потом настроить на
созданную ветку соответствующие права

Проблема=nj не в том, что служба под учёткой SYSTEM чего-то прочитать не может. Проблема в
том, что приложение под любым пользователем не может записать туда, откуда служба это
читает. И все мои пляски с бубном вокруг манифеста закончились ничем.

Но если у тебя таки получится - расскажи как.

Posted via ActualForum NNTP Server 1.5

13 июн 15, 22:06    [17767813]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Dimitry Sibiryakov, а откуда служба читает? Это я и хочу узнать. Если я запишу в HKEY_LOCAL_MACHINE\SOFTWARE, служба увидит эту запись? Куда должно писать приложение, чтобы служба увидела?
13 июн 15, 22:10    [17767825]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

S_Gur
Если я запишу в HKEY_LOCAL_MACHINE\SOFTWARE, служба увидит эту запись?

По моему опыту: увидит, если записывающее приложение будет запущено с elevated rights и не
увидит во всех остальных случаях. Но ты же сказал, что "делал уже"...

Posted via ActualForum NNTP Server 1.5

13 июн 15, 22:23    [17767864]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10569
Dimitry Sibiryakov
не прибегая к запуску этого приложения с повышением прав?
Откуда такое требование? Имхо, это нормально запускать конфигуратор повышенными правами.
У меня у самого конфигуратор в виде SnapIn модуля. А mmc.exe всегда запускается с повышенными правами
13 июн 15, 22:26    [17767874]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

_Vasilisk_
Откуда такое требование? Имхо, это нормально запускать конфигуратор
повышенными правами.

Мне лень объяснять каждому пользователю, что конфигуратор надо запускать не просто так, а
с ужимками и прыжками через ПКМ + "Run As Administrator"

Posted via ActualForum NNTP Server 1.5

13 июн 15, 22:30    [17767895]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10569
S_Gur,

Вот я когда-то задавал подобный вопрос http://www.sql.ru/forum/901922/ideologiya-sluzhby-windows
13 июн 15, 22:30    [17767898]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10569
Dimitry Sibiryakov
Мне лень объяснять каждому пользователю
Так манифест же? Ну и такой вариант
_Vasilisk_
конфигуратор в виде SnapIn модуля. А mmc.exe всегда запускается с повышенными правами
13 июн 15, 22:32    [17767905]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Всем спасибо. Завтра буду пробовать. О результатах обязуюсь отписаться. Думаю, что запускать конфигуратор с повышенными правами - это не самая страшная проблема (во всяком случае, в моей ситуации). Главное - чтобы служба работала
13 июн 15, 22:44    [17767956]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 45900

_Vasilisk_
Так манифест же?

Теоретически - да, но у меня что-то не получилось, хотя делал всё как в примере на MSDN.

Posted via ActualForum NNTP Server 1.5

13 июн 15, 22:45    [17767959]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6056
S_Gur,

Как один из тупых вариантов - не ставить службу в каталоги с ограниченным доступом и ложить простую ini-шку рядом с exe сервиса. Тогда в принципе и конфигуратор с обычными правами нормально к нему доступится.
13 июн 15, 22:53    [17767986]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
DarkMaster, этот вариант я всегда держу про запас. Но вот результат теста пятиминутной свежести. Есть конфигуратор - условное название PLC.exe. Соответственно, он создает в реестре ветку настроек, HKEY_LOCAL_MACHINE\SOFTWARE\PLC\TFmMain. Наспех накиданная служба прекрасно читает оттуда данные. Сейчас попробую перезагрузить машину и посмотреть, что будет при работе службы до логина...
13 июн 15, 23:07    [17768028]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10569
Dimitry Sibiryakov
что-то не получилось
Странно. У меня никаких проблем не было. В понедельник кину тебе манифест. Если не забуду
13 июн 15, 23:13    [17768053]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
Машину перезагрузил. Сервис раз в 10 секунд создает файлик с данными, вытащенными из реестра. Все работает. Может, не по теории майкрософта - не в ветке сервисов, но фунциклирует
13 июн 15, 23:16    [17768065]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6056
S_Gur,

Windows какой версии?
13 июн 15, 23:34    [17768118]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
S_Gur
Member

Откуда: Беэр-Шева, Израиль
Сообщений: 294
DarkMaster, Windows 8.1
14 июн 15, 06:42    [17768536]     Ответить | Цитировать Сообщить модератору
 Re: Ветка реестра для службы  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10569
Dimitry Sibiryakov
у меня что-то не получилось
Вот мой манифест. Втыкается в любой проект без модификации

К сообщению приложен файл (admin.manifest.zip - 519bytes) cкачать
15 июн 15, 12:49    [17771556]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить