Есть некоторое приложение N — работающее как сервис, которое использует функции из библиотеки M(.dll — набор функций для работы с USB брелком). В комплект библиотеки M входит приложение L — работающее, также, как сервис (его назначение просто — уведомлять приложение N о вставлении/изъятии USB брелка). Использование брелка — опционально и когда в нём нет необходимости, библиотека M вместе с приложением L отсутствует вовсе. Но так приложение N без приложения L вообще не стартует, хотя теперь N и не использует не единой ф-ции из M и в уведомлениях сервиса L не нуждается. Т.е. SCM устанавливает неявную зависимость сервиса N от сервиса L, так ли это? Если да, то есть ли возможность избавится от этой зависимости с наименьшим переписыванием кода?
Здравствуйте, Аноним, Вы писали:
А>Есть некоторое приложение N — работающее как сервис, которое использует функции из библиотеки M(.dll — набор функций для работы с USB брелком). В комплект библиотеки M входит приложение L — работающее, также, как сервис (его назначение просто — уведомлять приложение N о вставлении/изъятии USB брелка). Использование брелка — опционально и когда в нём нет необходимости, библиотека M вместе с приложением L отсутствует вовсе. Но так приложение N без приложения L вообще не стартует, хотя теперь N и не использует не единой ф-ции из M и в уведомлениях сервиса L не нуждается. Т.е. SCM устанавливает неявную зависимость сервиса N от сервиса L, так ли это? Если да, то есть ли возможность избавится от этой зависимости с наименьшим переписыванием кода?
Просто так SCM никаких зависимостей не устанавливает, возможно зависимости явно прописываются при вызове CreateService(). Список зависимостей можно посмотреть через свойства сервиса в Control Panel->Administrative tools->Services.
Re[2]: Трабла с сервисами
От:
Аноним
Дата:
19.07.05 07:29
Оценка:
Здравствуйте, Dmitry Fleytman, Вы писали:
DF>Здравствуйте, Аноним, Вы писали:
А>>Есть некоторое приложение N — работающее как сервис, которое использует функции из библиотеки M(.dll — набор функций для работы с USB брелком). В комплект библиотеки M входит приложение L — работающее, также, как сервис (его назначение просто — уведомлять приложение N о вставлении/изъятии USB брелка). Использование брелка — опционально и когда в нём нет необходимости, библиотека M вместе с приложением L отсутствует вовсе. Но так приложение N без приложения L вообще не стартует, хотя теперь N и не использует не единой ф-ции из M и в уведомлениях сервиса L не нуждается. Т.е. SCM устанавливает неявную зависимость сервиса N от сервиса L, так ли это? Если да, то есть ли возможность избавится от этой зависимости с наименьшим переписыванием кода?
DF>Просто так SCM никаких зависимостей не устанавливает, возможно зависимости явно прописываются при вызове CreateService(). Список зависимостей можно посмотреть через свойства сервиса в Control Panel->Administrative tools->Services.
Если Вы о свойствах сервиса, а в частности о его подсвойстве Dependencies, то в нём никаких явных зависимостей нет.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Dmitry Fleytman, Вы писали:
DF>>Здравствуйте, Аноним, Вы писали:
А>>>Есть некоторое приложение N — работающее как сервис, которое использует функции из библиотеки M(.dll — набор функций для работы с USB брелком). В комплект библиотеки M входит приложение L — работающее, также, как сервис (его назначение просто — уведомлять приложение N о вставлении/изъятии USB брелка). Использование брелка — опционально и когда в нём нет необходимости, библиотека M вместе с приложением L отсутствует вовсе. Но так приложение N без приложения L вообще не стартует,
А что значит не стартует? ошибка какая-то?
хотя теперь N и не использует не единой ф-ции из M и в уведомлениях сервиса L не нуждается. Т.е. SCM устанавливает неявную зависимость сервиса N от сервиса L, так ли это? Если да, то есть ли возможность избавится от этой зависимости с наименьшим переписыванием кода?
DF>>Просто так SCM никаких зависимостей не устанавливает, возможно зависимости явно прописываются при вызове CreateService(). Список зависимостей можно посмотреть через свойства сервиса в Control Panel->Administrative tools->Services.
А>Если Вы о свойствах сервиса, а в частности о его подсвойстве Dependencies, то в нём никаких явных зависимостей нет.
Re[4]: Трабла с сервисами
От:
Аноним
Дата:
19.07.05 09:46
Оценка:
Здравствуйте, Dmitry Fleytman, Вы писали:
DF>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, Dmitry Fleytman, Вы писали:
DF>>>Здравствуйте, Аноним, Вы писали:
А>>>>Есть некоторое приложение N — работающее как сервис, которое использует функции из библиотеки M(.dll — набор функций для работы с USB брелком). В комплект библиотеки M входит приложение L — работающее, также, как сервис (его назначение просто — уведомлять приложение N о вставлении/изъятии USB брелка). Использование брелка — опционально и когда в нём нет необходимости, библиотека M вместе с приложением L отсутствует вовсе. Но так приложение N без приложения L вообще не стартует,
DF>А что значит не стартует? ошибка какая-то?
DF>хотя теперь N и не использует не единой ф-ции из M и в уведомлениях сервиса L не нуждается. Т.е. SCM устанавливает неявную зависимость сервиса N от сервиса L, так ли это? Если да, то есть ли возможность избавится от этой зависимости с наименьшим переписыванием кода?
DF>>>Просто так SCM никаких зависимостей не устанавливает, возможно зависимости явно прописываются при вызове CreateService(). Список зависимостей можно посмотреть через свойства сервиса в Control Panel->Administrative tools->Services.
А>>Если Вы о свойствах сервиса, а в частности о его подсвойстве Dependencies, то в нём никаких явных зависимостей нет.
Когда сервиса L нет (т.е. вообще снесён с компьютера вместе с библиотекой M) сервис N пытается запустится и отваливается по ошибке (код 1053:
The service did not respond to the start or control request in a timely fashion. по таймауту короче). С Тем фактом, что сервису N нужен сервис L я уже смирился, вот теперь думаю как бы их развязать-то (когда нет необходимости в библиотеке M с сервисом L — апликуха N работает автономно и не лезет на поиски сервиса L)?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Dmitry Fleytman, Вы писали:
DF>>Здравствуйте, Аноним, Вы писали:
А>>>Здравствуйте, Dmitry Fleytman, Вы писали:
DF>>>>Здравствуйте, Аноним, Вы писали:
А>>>>>Есть некоторое приложение N — работающее как сервис, которое использует функции из библиотеки M(.dll — набор функций для работы с USB брелком). В комплект библиотеки M входит приложение L — работающее, также, как сервис (его назначение просто — уведомлять приложение N о вставлении/изъятии USB брелка). Использование брелка — опционально и когда в нём нет необходимости, библиотека M вместе с приложением L отсутствует вовсе. Но так приложение N без приложения L вообще не стартует,
DF>>А что значит не стартует? ошибка какая-то?
DF>>хотя теперь N и не использует не единой ф-ции из M и в уведомлениях сервиса L не нуждается. Т.е. SCM устанавливает неявную зависимость сервиса N от сервиса L, так ли это? Если да, то есть ли возможность избавится от этой зависимости с наименьшим переписыванием кода?
DF>>>>Просто так SCM никаких зависимостей не устанавливает, возможно зависимости явно прописываются при вызове CreateService(). Список зависимостей можно посмотреть через свойства сервиса в Control Panel->Administrative tools->Services.
А>>>Если Вы о свойствах сервиса, а в частности о его подсвойстве Dependencies, то в нём никаких явных зависимостей нет.
А>Когда сервиса L нет (т.е. вообще снесён с компьютера вместе с библиотекой M) сервис N пытается запустится и отваливается по ошибке (код 1053: А>The service did not respond to the start or control request in a timely fashion. по таймауту короче). С Тем фактом, что сервису N нужен сервис L я уже смирился, вот теперь думаю как бы их развязать-то (когда нет необходимости в библиотеке M с сервисом L — апликуха N работает автономно и не лезет на поиски сервиса L)?
А>any ideas?
Ну, ежели есть исходники — нужно (как ни странно) дебажить, иначе никак
Здравствуйте, Аноним, Вы писали:
А>Когда сервиса L нет (т.е. вообще снесён с компьютера вместе с библиотекой M) сервис N пытается запустится и отваливается по ошибке (код 1053: А>The service did not respond to the start or control request in a timely fashion. по таймауту короче). С Тем фактом, что сервису N нужен сервис L я уже смирился, вот теперь думаю как бы их развязать-то (когда нет необходимости в библиотеке M с сервисом L — апликуха N работает автономно и не лезет на поиски сервиса L)?
Разрешите сервису взаимодействие с рабочим столом. Возможно выскакивет диалог с сообщением об ошибке.
И ещё. Библиотека M, может из-за неё? Может если нет сервиса L, то и M нет, или она не работает/не грузится?