Как служба Windows отличается от стандарта exe?

Каково различие между службой Windows и стандартом exe?

42
задан Shog9 24 January 2010 в 04:33
поделиться

4 ответа

Служба Windows всегда работает, как только компьютер запускается (до тех пор, пока он настроен настроен). Стандартный EXE работает только тогда, когда пользователь вошел в систему, и остановится, если пользователь выходит из системы.

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

Вы бы использовали стандартные EXE для программ, которые пользователь будет работать во время вошедшего в систему.

44
ответ дан 26 November 2019 в 23:35
поделиться

Служба Windows имеет специальную функцию ServiceMain и для функционирования в качестве службы должна надлежащим образом реагировать на команды Service Control Manager (SCM). С другой стороны, обычный исполняемый файл имеет функцию main или WinMain и не должен отвечать ни на какие команды управления.

35
ответ дан 26 November 2019 в 23:35
поделиться

Служба является (обычно) стандартным exe без UI. Она может быть запущена даже в том случае, если на машине нет зарегистрированного пользователя, а права доступа и вид файловой системы не зависят от того, какой пользователь зарегистрирован.

2
ответ дан 26 November 2019 в 23:35
поделиться

Если вы говорите о внедрении фоновой операции, вот критерии, которые я бы порекомендовал выбрать услугу или менее .exe:

Выберите EXE, если:

  • Вам нужно, чтобы он запустил на основе для каждого пользователя, и только когда пользователь вошел в систему
  • , вам нужно, вам нужно взаимодействовать с рабочим столом Windows (значки уведомлений и т. Д.)
  • Мне нужны все привилегии Зарегистрированные пользователю (не более, не менее)

Выберите сервис, если:

  • может потребоваться запустить, когда никто не вошел в систему
  • , это, как правило, не требует данных пользователей или привилегии
  • Это исключительно связывается с сетью
  • , ему необходимо раскрывать новые «безопасные» объекты. Объекты, которые имеют свой собственный декларативный список контроля доступа (DACL), которые ограничивают доступ к определенным счетам / группам.
  • Это требует специальных разрешений, которые могут быть недоступны для входа в систему пользователя.

Услуги могут легко быть дырами безопасности, поэтому предпочитают услуги .exe на услуги. Иногда вам понадобится обоим. Вирусный контролер должен иметь возможность получить доступ к каждому файлу в файловой системе (который текущий пользователь может не иметь в состоянии сделать), но также необходимо предоставить информацию пользователям в виде уведомлений / всплывающих окна и инструмента иконка панели задач. Услуги не могут взаимодействовать с GUI пользователя напрямую. Они могут использовать стандартные услуги Windows IPC (межпроцессные связи), такие как трубы и общие регионы памяти. Такие инструменты обычно имеют оба сервис, так и для каждого пользователя Windless .exe, который связывается со службой с использованием труб Windows или общие регионы памяти.

Получите «Программировать безопасность Windows» Кит Браун, если вы хотите погрузиться в эти темы.

12
ответ дан 26 November 2019 в 23:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: