Я хочу установить службу Windows с помощью командной строки Windows (а не командной строки Visual Studio).
Как мне это сделать?
Я хочу установить службу Windows с помощью командной строки Windows (а не командной строки Visual Studio).
Как мне это сделать?
Ответы:
Перейдите к файлу installutil.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"
Ничего плохого в команде SC Create. Просто нужно знать правильные аргументы:
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
scкоманду, но это нечто иное, ее нельзя использовать для регистрации сервисов.
Если имя каталога имеет пробел, например c:\program files\abc 123, вы должны использовать двойные кавычки вокруг пути.
installutil.exe "c:\program files\abc 123\myservice.exe"

Это делает вещи намного проще, если вы установите файл bat, как показано ниже,
Например, чтобы установить службу, создайте «myserviceinstaller.bat» и « Запуск от имени администратора ».
@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 в команду installutil.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe"
Выполните следующее:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]Важно открыть с правами администратора, иначе вы можете найти ошибки, которые не имеют смысла. Если вы их получили, убедитесь, что вы открыли его с правами администратора.
Чтобы открыть с правами администратора , щелкните правой кнопкой мыши «Командная строка» и выберите «Запуск от имени администратора».
Установить сервис: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
Удалить сервис: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
Я должен добавить еще один пункт в этой теме. Для установки / удаления 64-bitверсии сборок следует использовать 64-bitверсию инструмента. Чтобы установить сервис, команда должна быть:
"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"
Создайте *.batфайл рядом с exeфайлом службы Windows для установки в следующем контексте:
CLS
ECHO Installing My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"
Создайте *.batфайл рядом с exeфайлом службы Windows для удаления в следующем контексте:
CLS
ECHO Uninstalling My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"
Запустите каждый batфайл с правами администратора, чтобы установить или удалить службу 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
Откройте Visual studio и выберите новый проект, выбрав Windows Serviceшаблон на Windows Desktopвкладке. Затем скопируйте следующий код в файл service_name.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." });
}
}
}
Щелкните правой кнопкой мыши файл service_name.cs и откройте дизайнер сервиса. чем щелкнуть правой кнопкой мыши и выбрать Add Installer. чем щелкнуть правой кнопкой мыши serviceProcessInstaller1и изменить значение его свойства Accountс Userна Local System.
Удалить static void mainметод из Program.csфайла. Чем сохранить и построить свой проект.
Примечание: Гота bin\Ddebugпапка в папке проекта. Чем открыть Свойства вашего service_name.exeфайла. Чем перейти на Compatibilityвкладку. Чем нажать на 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
Примечание: -i для установки службы и -u для удаления.
после -i укажите путь, по которому вы хотите установить свой сервис.
Теперь напишите команду в CommandPromt следующим образом:
C:\TimerService\TimerService\bin\Debug>net start service_name
Примечание: используйте stopдля остановки Сервиса.
Теперь открой ViewEventLog.exe. Выберите Журналы Windows> Приложение. Там вы можете проверить журнал службы, запустив и остановив службу.
Если вы используете Powershell и хотите установить службу .NET, вы можете использовать модуль Install-Service . Это обертка для инструмента InstalUtil.
Это выставляет 3 команды
Код к этому модулю можно посмотреть здесь
следующий код, установить и удалить Сервис,
Откройте командную строку и запустите программу от имени администратора, запустите указанную ниже команду и нажмите клавишу ввода.
Синтаксис
Установить
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
Удалить
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
для получения дополнительной помощи вы можете увидеть следующую ссылку: пример программы
Выполните шаги при развертывании службы Windows, не теряйте время
1- Запустите командную строку по праву администратора
2- Застрахуйте режим релиза при компиляции в вашей IDE.
3- Дайте тип вашему установщику проекта в режиме конструктора
4- Выберите тип аутентификации в соответствии с регистром
5- Убедитесь в зависимости от программного обеспечения: если вы используете сертификат, установите его правильно
6- Иди в свою консоль напиши это:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
перед файлом exe -i c:\вы можете использовать скрытый аргумент -i, который вы можете использовать -uдля удаления
7- Посмотрите свой путь .exe, чтобы казаться лог-файл. Вы можете использовать просмотрщик событий для наблюдения в функции
откройте командную строку разработчика от имени администратора и перейдите к
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Теперь используйте путь, где ваш .exeтам
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
когда ваша сборочная версия и ваш проект Visual Studio Biuld в точке net 2 или 4 устанавливаются с той же версией.
установить сервис с installutilтой же версией
если построить в точечной сети 4
Тип c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
если построить в точечной сети 2
Тип c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
1. В меню «Пуск» выберите каталог Visual Studio, затем выберите «Командная строка разработчика для VS».
2. Появится командная строка разработчика для Visual Studio.
3. Откройте каталог, в котором находится скомпилированный исполняемый файл вашего проекта.
4. Запустите InstallUtil.exe из командной строки, указав в качестве параметра исполняемый файл вашего проекта.
Вы должны открыть командную строку, перейти к
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Откройте командную строку как администратор, перейдите в папку, где .exeнаходится. Установить Exeкак сервис
D:\YourFolderName\YourExeName /i
Для удаления используйте /u.