Я хочу, чтобы приложение перезапускалось автоматически в случае сбоя сервера. Ему придется перезапустить без необходимости входа пользователя в учетную запись. (запустите программу перед входом в систему)
На основании своего исследования я составил список вариантов
Есть ли лучшие? Я просто хочу реализовать самое простое решение.
Вы можете изменить локальную политику безопасности для запуска сценария запуска. Это работает, когда система запускается в 2003, 2008, XP и других. Также работает с повышенными привилегиями
Бегать gpedit.msc
а затем перейдите к Computer Configuration > Windows Settings > Scripts
Там вы увидите Startup
и Shutdown
.
Я бы сделал это двумя способами:
Правильный способ - запустите приложение как службу.
Быстрый и грязный путь - запускайте приложение как запланированное задание. Один из вариантов расписания относится к моменту запуска компьютера.
Не ожидайте, что любое из этих решений будет хорошо работать с приложением, которое должно быть интерактивным.
Раньше, когда мне приходилось это делать, я настраивал сервер на автоматический вход с помощью сценария в папке запуска. Сценарий запускал нужную мне программу и затем блокировал экран.
Для блокировки экрана используйте этот код в своем скрипте:
rundll32.exe user32.dll,LockWorkStation
Вам необходимо предоставить соответствующему пользователю (правильно настроенному, заметьте), вход в систему как пакетное задание прав. Затем запустите его при загрузке, чтобы вам не требовался интерактивный вход в систему.
С помощью Диспетчер задач, создать Основная задача, а для триггера выберите «При запуске компьютера».
Это должно работать нормально, если приложение не взаимодействует с рабочим столом, что может быть проблемой.
Вы также можете настроить дополнительные параметры, например перезапустить приложение в случае сбоя и т. Д. Оборачивание вашего .exe в службу или создание службы, вероятно, излишне и ненужно.
Запустите его как службу. Одним из преимуществ (помимо запуска при запуске компьютера) является то, что в случае сбоя диспетчер управления службами может быть настроен для автоматического повторного запуска службы.
используйте приложение Hstart для своих целей. Проверь это http://www.ntwind.com/software/hstart.html