Есть сервис, которое после установки будет при старте считывать настройки и потом работать. При установке сервиса запускается приложение, которое опрашивает у пользователя нужные данные и формирует настройки для сервиса.
Собственно вопросы:
1. Как можно из одного приложения сохранить настройки для windows сервиса?
2. Ну и потом, если надо — считать их
Заранее спасибо!
Re: Как изменять настройки windows сервиса из другого приложения
Сумбурно как-то написано, попробую телепатировать.
T> Есть сервис, которое после установки будет при старте считывать настройки и потом работать. При установке сервиса запускается приложение, которое опрашивает у пользователя нужные данные и формирует настройки для сервиса.
Настроечная программа?
T>Собственно вопросы:
T>1. Как можно из одного приложения сохранить настройки для windows сервиса?
Пускай лучше сервис сам записывает свои настройки, Interprocess communication никто не отменял.
T>2. Ну и потом, если надо — считать их
T>Заранее спасибо!
Я бы на вашем месте поступил по модному.
Сервис стартует OWIN Self-Host, на котором есть одна страничка с настройками.
Плюсы очевидн: не надо ставить еще какие-то тулзовины, к сервису всегда можно достучаться проводником, посмотреть его состояние.
Re[2]: Как изменять настройки windows сервиса из другого при
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, Terol, Вы писали:
T>>Всем привет!
D>Сумбурно как-то написано, попробую телепатировать.
T>> Есть сервис, которое после установки будет при старте считывать настройки и потом работать. При установке сервиса запускается приложение, которое опрашивает у пользователя нужные данные и формирует настройки для сервиса.
D>Настроечная программа?
Именно так, при установке спрашиваем у пользователя login|password получаем с сервера настройки и потом записываем и в параметры сервиса
T>>Собственно вопросы:
T>>1. Как можно из одного приложения сохранить настройки для windows сервиса?
D>Пускай лучше сервис сам записывает свои настройки, Interprocess communication никто не отменял.
а можно с этого места поподробнее?
T>>2. Ну и потом, если надо — считать их
T>>Заранее спасибо!
D>Я бы на вашем месте поступил по модному. D>Сервис стартует OWIN Self-Host, на котором есть одна страничка с настройками. D>Плюсы очевидн: не надо ставить еще какие-то тулзовины, к сервису всегда можно достучаться проводником, посмотреть его состояние.
Интересный вариант, а где можно почитать об этом? Я думал об этом, но тогда получается надо изображать из себя эдакий web cервер с вытекающими отсюда шаблонами и обработкой http запросов. По идее нужно спросить только логин|password — форма простая.
Спасибо за ваш совет! Если не сложно, подскажите где можно поблее подробно об этом почитать или по каким ключевым словам искать. Буду очень благодарен.
[Skip]
D>>Я бы на вашем месте поступил по модному. D>>Сервис стартует OWIN Self-Host, на котором есть одна страничка с настройками. D>>Плюсы очевидн: не надо ставить еще какие-то тулзовины, к сервису всегда можно достучаться проводником, посмотреть его состояние.
T>Интересный вариант, а где можно почитать об этом? Я думал об этом, но тогда получается надо изображать из себя эдакий web cервер с вытекающими отсюда шаблонами и обработкой http запросов. По идее нужно спросить только логин|password — форма простая.
T>Спасибо за ваш совет! Если не сложно, подскажите где можно поблее подробно об этом почитать или по каким ключевым словам искать. Буду очень благодарен.
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, Terol, Вы писали:
D>[Skip]
D>>>Я бы на вашем месте поступил по модному. D>>>Сервис стартует OWIN Self-Host, на котором есть одна страничка с настройками. D>>>Плюсы очевидн: не надо ставить еще какие-то тулзовины, к сервису всегда можно достучаться проводником, посмотреть его состояние.
T>>Интересный вариант, а где можно почитать об этом? Я думал об этом, но тогда получается надо изображать из себя эдакий web cервер с вытекающими отсюда шаблонами и обработкой http запросов. По идее нужно спросить только логин|password — форма простая.
T>>Спасибо за ваш совет! Если не сложно, подскажите где можно поблее подробно об этом почитать или по каким ключевым словам искать. Буду очень благодарен.
D>Скачиваем темплит — SPA приложение на OWIN D>https://visualstudiogallery.msdn.microsoft.com/e376f2f7-4412-4b75-8ccf-818c45adafe5
D>Делам Self-Host http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api D>Весь цимес в методе Main
Ага, я что то такое уже нашел в google. только вот не уверен заработает ли это под Windows XP (да, нужно поддерживать и её). При установке получаю сообщение
Could not install package 'Microsoft.AspNet.WebApi.Client 5.2.3'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
PS Ставлю из под VS 2010 Pro, через nuget
Re: Как изменять настройки windows сервиса из другого приложения
Здравствуйте, Terol, Вы писали:
T>Всем привет!
T> Есть сервис, которое после установки будет при старте считывать настройки и потом работать. При установке сервиса запускается приложение, которое опрашивает у пользователя нужные данные и формирует настройки для сервиса.
Предложу примитивное решение: у сервиса есть командная строка, которой он запускается, там можно указать путь к файлу с настройками. Далее, любому сервису можно послать сигнал, предопределенные сигналы это старт, стоп, пауза и так далее https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms682108%28v=vs.85%29.aspx, а можно послать свой код в диапазоне от 128 до 255, и пусть после приема этого кода сервис перечитывает настройки. Найти сервис можно по имени.
Re[2]: Как изменять настройки windows сервиса из другого приложения
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, Terol, Вы писали:
T>>Всем привет!
T>> Есть сервис, которое после установки будет при старте считывать настройки и потом работать. При установке сервиса запускается приложение, которое опрашивает у пользователя нужные данные и формирует настройки для сервиса.
С>Предложу примитивное решение: у сервиса есть командная строка, которой он запускается, там можно указать путь к файлу с настройками. Далее, любому сервису можно послать сигнал, предопределенные сигналы это старт, стоп, пауза и так далее https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms682108%28v=vs.85%29.aspx, а можно послать свой код в диапазоне от 128 до 255, и пусть после приема этого кода сервис перечитывает настройки. Найти сервис можно по имени.
Слава, спасибо за ваш ответ.
Суть в том что при установке сервиса настройка создается разово (+ программа настройки меняет некоротые системные параметры). В сервис один раз нужно передать строку (идентификатор) и в процессе выполнения эта настройка не меняется.
Идея с self hosted в целом неплохая, но это нзачит надо держать открытым порт, делать авторизацию и т.п. — хотя все это нужно один раз при установке, а потом это будет висеть балластом + всё равно менять нужна программа — менять системные настройки.
Путь к файлу в настройках сервиса вариант, но файл настроек один и по идее нужно использовать стандартный правильный путь, т.е. стандартный механизм (именно по этому вариант — записать в реестр и потом оттуда читать я рассматриваю в последнюю очередь). Сигналы по об изменении файла настроек посылать не надо, настройки за все время жизни сервиса с вероятностью 99,99% менятся не будут.
Re[5]: Как изменять настройки windows сервиса из другого при
[Skip]
T>Ага, я что то такое уже нашел в google. только вот не уверен заработает ли это под Windows XP (да, нужно поддерживать и её). При установке получаю сообщение
T>
T>Could not install package 'Microsoft.AspNet.WebApi.Client 5.2.3'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
T>PS Ставлю из под VS 2010 Pro, через nuget
Похоже что новые версии только под Framework 4.5, а вам нужен не больше 4-ки. Попробуйте более старые версии, вам должно хватить
Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, Terol, Вы писали:
D>[Skip]
T>>Ага, я что то такое уже нашел в google. только вот не уверен заработает ли это под Windows XP (да, нужно поддерживать и её). При установке получаю сообщение
T>>
T>>Could not install package 'Microsoft.AspNet.WebApi.Client 5.2.3'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
T>>PS Ставлю из под VS 2010 Pro, через nuget
D>Похоже что новые версии только под Framework 4.5, а вам нужен не больше 4-ки. Попробуйте более старые версии, вам должно хватить
D>Install-Package Microsoft.Owin.Hosting -Version 2.1.0
D>Install-Package Microsoft.AspNet.WebApi.Client -Version 4.0.30506.0
Danchik, спасибо за ваши советы. Я тут проанализировал и понял что мне в любом случае будет писать дополнительно отдельную программу т.к. он должна правильно настроить системные настройки (и убедится что они применимы) и только после этого ставить сервис. И поднимать selfhost ради одного случая не совсем корректно.
В любом случае, спасибо за ваше предложение о selfhosted
Re[7]: Как изменять настройки windows сервиса из другого при
T>Danchik, спасибо за ваши советы. Я тут проанализировал и понял что мне в любом случае будет писать дополнительно отдельную программу т.к. он должна правильно настроить системные настройки (и убедится что они применимы) и только после этого ставить сервис. И поднимать selfhost ради одного случая не совсем корректно.
Зато приятная плюшка можно посмотреть что там на сервисе.
Если уж специальная тулза ставит, то прокиньте настройки в registry, в чем проблема то?