Способ автозащиты сервисов (служб) Windows
Так как службы не взаимодействуют с рабочим столом, пользователь не сможет увидеть сообщение о том, что ключ отсутствует. Процесс службы "зависнет" на невидимом сообщении в ожидании реакции пользователя.
Применяем ключ /SILENT.
В этом случае служба просто тихо "умрет" (или изначально не запустится, если ключа нет), и все.
Возможно (если в настройках службы будет так задано), служба будет перезапущена операционной системой, и этот цикл (старт-поиск ключа-завершение) будет повторяться до тех пор, пока не будет найден ключ.
В любом случае, пользователь не будет знать причину отсутствия взаимодействия с сервисом.
Возможно, спасет ключ /EXCEPT ("Генерировать исключение при проблемах с ключом"). Поймав исключение, приложение сможет что-то сделать осмысленное.
Подскажите, пожалуйста, каков алгоритм генерации такого исключения и пример его обработки.
И, если можно, пример обработки такого исключения для Delphi (например). Или ссылку на документацию, где есть такой пример.
Спасибо.