Единственный способ установить сервис окон, который я знаю, использует "Командную строку Visual Studio 2008 года", Есть ли способ установить сервис окон на машину, которая не имеет установленной Visual Studio (предположите, что версия 2. X .NET установлена.)
вы можете сделать это с помощью installUtil
, который находится в папке .net framework (на моем компьютере это C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727).
Соответствующая страница 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.
Вы можете установить службы Windows как MSI. Создайте MSI как обычный проект, прикрепленный к вашему сервисному проекту.
В своем сервисном проекте создайте класс установщика и добавьте компоненты serviceInstaller и serviceProcessInstaller и настройте их, как требуется. Добавьте выходные данные проекта из проекта службы в проект MSI, задайте настраиваемые действия проекта MSI для установки, фиксации, отката и удаления для выходных данных проекта службы.
Измените проект MSI любым другим способом, соберите MSI, после чего вы сможете установить свою Службу на любой компьютер с Windows без VS.NET или с помощью служебного приложения InstallUtil. MSI также будет обрабатывать удаление и т. Д.
. Существуют свойства компонента serviceProcessInstaller, которые вы можете настроить для учетной записи для запуска службы. ServiceInstaller содержит свойства, которые могут быть установлены, например, имя службы. Вам нужно будет установить ServiceName и его Parent, MSDN предоставит хорошую информацию о том, как использовать оба этих компонента.
С командной строкой Visual Studio:
installutil /i fullfilepathtoservice.exe
Без командной строки Visual Studio:
C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil /i fullfilepathtoservice.exe
HTH.
Все, что это делает, - это помещает инструменты платформы .Net в PATH; вы все равно можете использовать:
C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ InstallUtil.exe
, указав полный путь в обычной командной строке (очевидно, с учетом вашего framework / архитектура ЦП)
Да, installutil.exe
работает нормально, но мне надоело не забывать запускать командную строку Visual Studio 2008, чтобы использовать ее. Я неизменно открывал обычную консоль только для того, чтобы понять, что расположение installutil.exe
не было частью пути.
К счастью, installutil.exe
является оболочкой для набора вызовов отражения. Из MSDN
Installutil.exe
использует отражение для проверки указанной сборки и поиска всех типовустановщика
сДля RunInstallerAttribute
установлено значение true. Затем инструмент выполняет либо метод установки , либо метод удаления для каждого экземпляра типаустановщика
.
Это означает, что в службу Windows можно добавить код для ее установки и удаления. Таким образом, мне больше не требуется installutil.exe
или командная строка Visual Studio 2008 для его запуска.
Я предоставил пошаговое руководство, как это сделать здесь . Параметр -install
устанавливает службу Windows и запускает ее. И наоборот, параметр -uninstall
останавливает службу и удаляет ее.
Откройте командную строку (cmd) и введите
help sc
и
sc create
Кроме того, файл installutil.exe, о котором вы, вероятно, говорите, действительно находится в каталоге .Net Framework. Командная строка VS просто устанавливает красивый путь, но вы можете запустить его из (моего пути) C:\Windows\Microsoft.NET\Framework\v2.0.50727 просто отлично.
Вам не нужен Visual Studio 2008 Command Prompt. Вам нужна программа InstallUtil.exe, которая находится в
C:\Windows\Microsoft.NET\Framework\v2.0.50727
На x64 машинах есть также 64-битная версия в
C:\Windows\Microsoft.NET\Framework64\v2.0.50727
Эти директории, очевидно, доступны только при установленном .NET.
Я предполагаю, что вы ищете программу "installutil.exe", которая используется для установки .NET Windows Services. Вы можете найти ее в %windir%\Microsoft.NET\Framework\v2.0.50727