Я пытаюсь развернуть сервис окон, но не совсем уверенный, как сделать его правильно. Я создал его как консольное приложение для начала, я теперь превратил его в сервисный проект окон и просто называю мой класс из метода OnStart в сервисе.
Я теперь должен установить это на сервере, который не имеет Visual Studio на нем, которая, если я понял, это правильно означает, что я не могу использовать InstallUtil.exe и иметь для создания класса установщика вместо этого. Это корректно?
Я действительно взглянул на предыдущий вопрос, Устанавливают сервис окон.NET без InstallUtil.exe, но я просто хочу удостовериться, что я понял это правильно.
Если я создаю класс, с которым связывается принятый ответ вопроса, каков следующий шаг? Загрузите MyService.exe, и MyService.exe.config к серверу, дважды щелкают по EXE-файлу и моему дяде Bob's?
Сервис будет только когда-либо устанавливаться на одном сервере.
Инструмент InstallUtil.exe
- это просто оболочка для некоторых вызовов отражения для компонентов установщика в вашей службе. Таким образом, на самом деле он ничего не делает, кроме как использовать функциональные возможности, предоставляемые этими компонентами установщика. Решение Марка Гравелла просто предоставляет средства для этого из командной строки, так что вам больше не нужно полагаться на наличие InstallUtil.exe
на целевой машине.
Вот моя пошаговая инструкция, основанная на решении Марка Грейвелла.
Не щелкайте дважды, вы запускаете его с правильными параметрами командной строки, поэтому введите что-то вроде MyService -i
, а затем MyService -u
, чтобы удалить его`.
В противном случае вы могли бы использовать sc.exe для его установки и удаления (или скопировать вместе с InstallUtil.exe).
Почему бы просто не создать проект установки? Это действительно просто.
Вуаля, и все готово.
Подробнее см. Здесь: http://www.codeproject.com/KB/dotnet/simplewindowsservice.aspx
Существует также способ запросить у пользователя учетные данные (или предоставить свои собственные).