Я хочу встановити службу 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 команди
Код до цього модуля можна переглянути тут
наступний код, встановіть та видаліть Службу,
Відкрийте командний рядок і запустіть програму як адміністратор та запустіть команду нижче та натисніть клавішу 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
Щоб видалити
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:\ви можете використовувати -uдля видалення, є прихований аргумент -i
7- Перегляньте свій .exe шлях, щоб здатися файлом журналу. Ви можете використовувати переглядач подій для спостереження в цій функції
відкрити командний рядок Developer як адміністратора та перейти до
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Тепер використовуйте шлях , де знаходиться ваш .exeтам
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
коли ваша монтажна версія та параметр Biuld проекту Visual studio на точці 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.