eXeL@B —› Основной форум —› Чем отличается запуск службы из mmc и запуск через “выполнить” ? |
Посл.ответ | Сообщение |
|
Создано: 03 марта 2006 03:42 · Личное сообщение · #1 Немного не понимаю чем отличается запуск службы из mmc и запуск через “выполнить”. Проблема в том, что программа которую пытаюсь поломать стартует как служба и в момент старта выдаёт наг окно. Если остановить в ммс и запустить снова, то опять наг. То есть работает нормально. Но вот если пытаюсь дебагить её идой или даже просто запустить, то нага нет. Сервис не то что не стартует, но и до места проверки не доходит. Выскакивает из call StartServiceCtrlDispatcherW и на выход. Вообще как программно запустить прогу как сервис так как это делает ММС или как дебагить идой работающую службу с момента старта (приаттачится удаётся, но поздно) ? |
|
Создано: 03 марта 2006 06:09 · Личное сообщение · #2 |
|
Создано: 03 марта 2006 11:14 · Личное сообщение · #3 1) ToBad пишет: ли как дебагить идой работающую службу с момента старта (приаттачится удаётся, но поздно) Процес отладки служб обсуджался здесь далеко не раз. Поэтому в первую очередь пользуйся поиском. 2)ToBad пишет: Вообще как программно запустить прогу как сервис так как это делает ММС _http://rsdn.ru/summary/704.xml Много инфы. Почитай. Вообще по этому куча информации. Посмотри также на Васме. |
|
Создано: 04 марта 2006 02:20 · Поправил: ToBad · Личное сообщение · #4 nice пишет: Я дебажил Олькой, ставил в опциях: Just-in-time debugging потом ставил int3 на ОЕР и при втором срабатывании я оказывался в теле сервиса Подобного в иде к сожалению не нашёл. Вышел из положения с помощью пустого мессаджбокса на входе. Стартую как службу из ммс, а когда высвечивается мессадж приаттачиваюсь к процессу идой. Дальше жму кнопку и я уже в теле сервиса. Конечно приходится окошко запуска службы закрывать что бы таймаут не сработал. Гиморно конечно, но работает. Легче бы было сайсом, но захотелось именно идой. Step пишет: Процес отладки служб обсуджался здесь далеко не раз. Поэтому в первую очередь пользуйся поиском. Понял. Учту. В нете много инфы. Конечно всё гораздо серьёзнее, чем я предполагал по незнанию. От этого и спросил думая, что ответ можно дать в двух словах. Вообще хотел найти примерчик на Дельфи или VB для запуска EXE как сервиса. Но нашёл пока только на С. Спасибо всем за советы ! |
|
Создано: 08 марта 2006 07:08 · Личное сообщение · #5 Запуск exe как службы: net start <имя службы> или sc start <имя службы> вообще для запуска службы нужны функции: OpenSCManager, OpenService и StartService. При запуске в качестве службы ядро предписывает ей взаимодействие с компонентом SCM - Service Control Manager. Кроме всего прочего, служба сопоставляется с идентификатором безопасности S-1-5-6 (Служба) помимо её учётной записи. Когда обычный пользователь входит в систему, он попадает в Интерактивные и Прошедшие проверку, которые являются членами группы Пользователи! Поэтому если группе Пользователи ЯВНО отказать в доступе к какому-либо объекту, то администратор, вошедший в систему обычным способом, не сможет к нему обратиться. предварительно не сменив разрешения. Однако служба, работающая с этой же учётной записью, обратиться сможет. А ведь про это почти нигде не пишут. Даже на msdn. Приходиться читать help Windows'овский! |
eXeL@B —› Основной форум —› Чем отличается запуск службы из mmc и запуск через “выполнить” ? |