Будет ли всегда запускаться служба Windows перед запуском приложения? - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть приложение для запуска, которое использует службу (которая также запускается при запуске). Службы всегда будут запускаться первыми?

Моя цель - узнать, может ли мое приложение предположить, что если служба не запущена - она ​​не была установлена ​​(или произошла какая-то ошибка), и пользователь должен быть уведомлен или служба должна быть установлена. Если это не обязательно так (службы запускаются первыми), я бы заставил приложение подождать некоторое время и перепроверить, прежде чем предупреждать пользователя или пытаться установить службу. (10 секунд? 2 минуты?)

EDIT

Мне известно, что служба может быть преднамеренно не выполнена немедленно ( Отложенный запуск ). Я не имею в виду это.

Дополнительная информация : Сервис тоже мой. Устанавливается приложением при первом запуске, запрашивая у пользователя права администратора. И приложение является приложением пользовательского интерфейса, поэтому не может работать как служба.

1 Ответ

0 голосов
/ 27 апреля 2018

Будут ли службы всегда запускаться первыми

Нет. точно нет. Службе может потребоваться слишком много времени для запуска, или ее зависимость не может запуститься, и она должна ждать, пока эта зависимость не повторится.

Я сам испытал это на службе времени Windows

Однако у вас есть пара вариантов для этого

  1. Используйте планировщик задач, установите условие триггера «На событие» и выясните, какая запись в журнале событий будет генерироваться конкретной службой при запуске.

  2. Сделайте ваше приложение сервисом и объявите, что оно зависит от сервиса, который ему требуется. Вы получите сообщение о том, что зависимость не встречается, если служба не установлена.

  3. Разрешить запуск приложения, но проверяет каждые X секунд, чтобы убедиться, что служба запущена, прежде чем продолжить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...