14 ответов:
перейдите к одним из наиболее важных системных.exe в вашей папке .net (для .net 4 это C:\Windows\Microsoft.NET\Framework\v4.0.30319 например) и использовать его для установки службы, например:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
если имя каталога содержит пробел, как
c:\program files\abc 123, то вы должны использовать двойные кавычки вокруг пути.installutil.exe "c:\program files\abc 123\myservice.exe"
это делает вещи намного проще, если вы настроили файл bat, как показано ниже,
например, чтобы установить службу, создайте " myserviceinstaller.летучая мышь" и "Запуск от имени администратора"
@echo off cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 installutil.exe "C:\Services\myservice.exe" if ERRORLEVEL 1 goto error exit :error echo There was a problem pauseудалить службу,
добавить - u к одним из наиболее важных системных команда.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"
ничего плохого в команде SC Create. Просто вам нужно знать правильные аргументы:
SC CREATE "MySVC" binpath= “D:\Me\Services\MySVC\MySVC.exe"
выполнить следующее:
- Запустите командную строку (CMD) с правами администратора.
- тип
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]- пресс возвращение и это все!
важно открыть с правами администратора в противном случае вы можете найти ошибки, которые приходят, что не имеет смысла. Если вы получаете какие-либо, проверьте, что вы открыли его с правами администратора в первую очередь!
открыть с правами администратора Правой Кнопкой "Командная строка" и выберите "Запуск от имени администратора".
Я должен добавить еще один пункт в этой теме. Для установки / удаления 64-разрядной версии сборок необходимо использовать 64-разрядную версию инструмента. Чтобы установить службу, команда должна быть:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" "C:\YourFolder\YourService.exe"и для удаления команды должно быть:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u "C:\YourFolder\YourService.exe"
Если вы используете Powershell и хотите установить службу .NET, вы можете использовать Install-Service модуль. Это оболочка для инструмента InstalUtil.
Он предоставляет 3 команды
- Install-Service-invokes InstallUtil.exe pathToExecutable команда
- Install-ServiceIfNotInstalled-сначала он проверяет, является ли служба установлен, если не выполнить метод Install-Service
- Uninstall-Service- он удаляет службу. ServiceName пути к исполняемому файлу может быть использован.
код к этому модулю можно посмотреть здесь
создать
*.batфайл рядом с вашей службой windowsexefile установки со следующим контекстом:CLS ECHO Installing My Windows Service START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"создать
*.batфайл рядом с вашей службой windowsexefile удалить со следующим контекстом:CLS ECHO Uninstalling My Windows Service START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"выполнить каждый из
batfile как admin для установки или удаления службы windows.
Услуги Установка:-
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" "C:\Services\myservice.exe"UnInsatall Sevice: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
- Запустите командную строку (CMD) с правами администратора.
- тип c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [ваш путь службы windows к exe]
- нажмите return
- Запустите командную строку Windows как администратор
- вставить этот код:
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\, чтобы перейти в папку- редактировать и запускать такое:
installutil C:\ProjectFolder\bin\Debug\MyProject.exeПримечание: удалить:
installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
следующий код , установить и удалить службу,
открыть командная строка и запуск программы от имени администратора и выполните команду ниже и нажмите enter.
синтаксис
Установить
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exeнапример :наш путь Программы installutil.exe C:\MyFirstService\bin\Debug\MyFirstService.exe
To удалить
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exeнапример: наш путь InstallUtil.exe-u C:\MyFirstService\bin\Debug\MyFirstService.exe
для получения дополнительной помощи вы можете ознакомиться по следующей ссылке: пример программы
откройте Visual studio и выберите новый проект, выбрав
Windows ServiceшаблонWindows Desktoptab. Чем скопировать следующий код в имя_службы.cs-файл.using System.Diagnostics; using System.ServiceProcess; namespace TimerService { public partial class Timer_Service : ServiceBase { public Timer_Service() { InitializeComponent(); } static void Main() { if (System.Diagnostics.Debugger.IsAttached) { Timer_Service service = new Timer_Service(); service.OnStart(null); } else { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Timer_Service() }; ServiceBase.Run(ServicesToRun); } } protected override void OnStart(string[] args) { EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." }); } protected override void OnStop() { EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." }); } } }Правой Кнопкой Мыши на имя_службы.cs файл и открыть конструктор сервиса. затем щелкните правой кнопкой мыши и выберите
Add Installer. чем щелкните правой кнопкой мыши наserviceProcessInstaller1и изменить его значение свойстваAccountСUserдоLocal System.удалить
static void mainметод . Чем сохранить и построить свой проект.Примечание: перейти
bin\Ddebugпапка вашей папки проекта. Чем открыть свойства вашего . Чем ГотоCompatibilitytab. Чем нажать наChange Settings For All Users.Выберите вариант
Run this program as an administrator.теперь вы должны открыть CommandPromt как администратор. После открытия, установите каталог, где ваш
InstallUtil.exeфайл помещается. например:C:\Windows\Microsoft.NET\Framework64\v4.0.30319. теперь напишите следующую команду:C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exeПримечание: -я для установки он обслуживает и-u для Unsinstall.
после-я установил запись пути, по которому вы хотите установить свой сервис.
теперь напишите команду в CommandPromt следующим образом:
C:\TimerService\TimerService\bin\Debug>net start service_nameПримечание: использовать
stopдля остановки службы.теперь откройте
ViewEventLog.exe. Выберите Журналы Windows>Приложение. Там вы можете проверить журнал своей службы, запустив и остановив службу.
когда ваша версия сборки и ваш проект Visual studio Biuld настройки на dot net 2 или 4 установить с той же версии.
установить с
installutilта же версияесли построить в dot net 4
тип
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exeесли построить в dot net 2
тип
c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
откройте командную строку, перейдите к
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"

Comments