Как я могу установить службу Windows на компьютер, на котором не установлена ​​Visual Studio? - PullRequest
28 голосов
/ 08 апреля 2010

Единственный известный мне способ установки службы Windows - это использование " Командная строка Visual Studio 2008 ". Есть ли способ установить службу Windows на компьютер, на котором не установлена ​​Visual Studio ( предположим, что установлена ​​версия .Net версии 2.X.)

Ответы [ 10 ]

44 голосов
/ 08 апреля 2010

вы можете сделать это с помощью installUtil, который находится в папке .net framework (на моем компьютере это C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727).

8 голосов
/ 09 апреля 2010

Вы можете установить Windows Services как MSI.Создайте MSI как обычный проект, присоединенный к вашему сервисному проекту.

В вашем сервисном проекте создайте класс установщика, добавьте компоненты serviceInstaller и serviceProcessInstaller и настройте его, как требуется.Добавьте выходные данные проекта из сервисного проекта в проект MSI, задайте пользовательские действия проекта MSI для установки, фиксации, отката и удаления для выходных данных сервисного проекта.

Измените проект MSI в любом другомПо желанию, соберите MSI, тогда вы сможете установить свою Службу на любой Windows-компьютер без VS.NET или с помощью служебной программы InstallUtil.MSI также будет обрабатывать удаление и т. Д.

Существуют свойства компонента serviceProcessInstaller, которые вы можете установить для учетной записи, под которой запускается служба, а serviceInstaller содержит свойства, которые можно установить, например имя службы.Вам нужно будет указать имя_службы и его родительский узел. MSDN предоставит вам полезную информацию о том, как использовать оба этих компонента.

Надеюсь, это поможет.

Приветствия.

7 голосов
/ 08 апреля 2010

Соответствующая страница MSDN: http://msdn.microsoft.com/en-us/library/sd8zc8ha%28VS.80%29.aspx

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe yourproject.exe

Вам не нужно устанавливать Visual Studio, чтобы это работало.

5 голосов
/ 08 апреля 2010

Да, installutil.exe работает хорошо, но я устал от необходимости не запускать командную строку Visual Studio 2008 для ее использования.Неизменно, я бы открыл обычную консоль только для того, чтобы понять, что местоположение installutil.exe не является частью пути.

К счастью, installutil.exe - это оболочка для набора вызовов отражений.Из MSDN

Installutil.exe использует отражение для проверки указанной сборки и поиска всех типов Installer с RunInstallerAttribute, установленным в значение true.Затем инструмент выполняет метод установки или метод удаления для каждого экземпляра типа Installer.

Это означает, что можно добавить код в службу Windows, чтобы установить егои удалите себя.При этом мне больше не требуется installutil.exe или командная строка Visual Studio 2008 для его запуска.

Я предоставил пошаговое руководство, как это сделать здесь ,Опция -install устанавливает службу Windows и запускает ее.И наоборот, опция -uninstall останавливает службу и удаляет ее.

3 голосов
/ 08 апреля 2010

С командной строкой Visual Studio:

installutil /i fullfilepathtoservice.exe

Без командной строки Visual Studio:

C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil /i fullfilepathtoservice.exe

HTH.

2 голосов
/ 08 апреля 2010

Все, что мы делаем, это помещаем инструменты .Net framework в PATH;вы можете продолжать использовать: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe, указав полный путь в обычной командной строке (очевидно, с учетом вашей структуры / архитектуры процессора)

2 голосов
/ 08 апреля 2010

Вам не нужна командная строка Visual Studio 2008. Вам нужна программа InstallUtil.exe , которую можно найти в

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727

На x64-машинах есть также 64-битная версия в

C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727

Эти каталоги, очевидно, доступны только при установленном .NET.

2 голосов
/ 08 апреля 2010

Откройте командную строку (cmd) и введите

help sc

и

sc create

В дополнение, файл installutil.exe, о котором вы, вероятно, говорите, действительно находится в каталоге .Net Framework. Командная строка VS просто устанавливает хороший путь, но вы можете запустить его из (мой путь) C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 просто отлично.

1 голос
/ 10 сентября 2018

шаг 1> Установите .net Framework (я использую .net 4.0, но вы можете использовать его по своему усмотрению)

шаг 2> Перейдите на run + cmd, затем нажмите ОК или перейдите непосредственно к командной строке вашего окна(не визуальная командная строка студии)

шаг 3> введите эти строки

> cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
> E:\test\test\bin\Debug\test.exe

E:\test\test\bin\Debug\ - это путь, в котором сохранены мои настройки службы окон

C:\Windows\Microsoft.NET\Framework\v4.0.30319\путь, по которому существует InstallUtil.exe.

В обоих файлах InstallUtil.exe существуют.и путь должен дать пробел.В противном случае возникает ошибка.

Шаг 4> Наслаждайтесь ... ваша служба установлена ​​... теперь вы можете проверить ее в панели управления> инструмент администрирования> Службы.

1 голос
/ 08 апреля 2010

Полагаю, вы ищете программу "installutil.exe", которая используется для установки .NET Windows Services.Вы можете найти его в% windir% \ Microsoft.NET \ Framework \ v2.0.50727

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...