Как средство InstallUtil.exe регистрирует службу windows в. NET? - PullRequest
0 голосов
/ 02 августа 2020

Я точно знаю, что инструмент InstallUtil.exe работает вместе с вашим пользовательским классом установщика, который является производным от класса установщика. С помощью отражения инструмент InstallUtil.exe находит методы установки и удаления и устанавливает все, что вы определяете в своем коде. Не понимаю, где в процессе регистрации в ОС регистрируется служба windows. Единственный способ запустить службу при загрузке компьютера - это запустить службу ОС, а это значит, что ее нужно где-то зарегистрировать, верно?

Я просмотрел исходный код для класса установщика и не нашел ничего похожего на запись в файл или изменение в реестре или что-то еще.

Код, кажется, вызывает эти делегаты, но я не могу понять их цель .

private InstallEventHandler _afterCommitHandler;

    private InstallEventHandler _afterInstallHandler;

    private InstallEventHandler _afterRollbackHandler;

    private InstallEventHandler _afterUninstallHandler;

    private InstallEventHandler _beforeCommitHandler;

    private InstallEventHandler _beforeInstallHandler;

    private InstallEventHandler _beforeRollbackHandler;

    private InstallEventHandler _beforeUninstallHandler;

Я подумал, что, возможно, инструмент InstallUtil.exe использует отражение для сортировки выполнения своего собственного кода при вызове этих делегатов, и что этот код может затем зарегистрировать службу в windows, но после прочтения этого сообщения о stackoverflow я не уверен. Очевидно, для этого метода не требуется инструмент InstallUtil.exe, но я не могу найти здесь никакого регистрационного кода. *

...