
Я создал компьютерную программу, которую установил как службу Windows, и добавил зависимость от другой службы Windows, «KEPServerEX 6.9 Runtime», как вы можете видеть на этом снимке экрана:
Я проверил эту зависимость разными способами:
- Я перезагрузил компьютер и попытался проверить, запускается ли «KEPServerEX 6.9 Runtime» раньше моей программы.
- Я остановил «KEPServerEX 6.9 Runtime» и ожидал, что моя программа тоже будет остановлена.
Вот мои результаты:
- Понятия не имею: когда запускается моя программа, и в журнале событий создается запись. Это не относится к "KEPServerEX 6.9 Runtime", и "KEP..." не создает журналы, поэтому я понятия не имею, где этот тест был успешен или нет.
- Моя программа не остановилась.
Даже если мне удастся доказать, что моя программа запускается только после «KEPServerEX 6.9 Runtime» при перезагрузке компьютера, мне интересно (учитывая пункт 2), в чем смысл зависимостей служб Windows.
Я работаю на компьютере с Windows 10, а мой клиент работает с Windows Server 2016. Я хотел бы, чтобы ответы были действительны для обеих операционных систем.
Для вашего сведения: «KEPServerEX 6.9 Runtime» — это коммерческий инструмент, я не могу его модифицировать.
решение1
От Microsoft Конфигурация sc.exe:
зависит=
<dependencies>
Указывает имена служб или групп, которые должны запускаться перед этой службой. Имена разделяются косыми чертами (/).
Это единственная причина существования зависимостей — наведение порядка в процессе запуска Windows.
После запуска зависимости не оказывают никакого влияния, за исключением перезапуска зависимой службы.