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