Я хочу установить службу 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
.