Установить службу Windows с помощью командной строки Windows?



Я хочу установить службу Windows с помощью командной строки Windows (а не командной строки Visual Studio).



Как мне это сделать?

6187   14  

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"

Install windows service from command prompt

это делает вещи намного проще, если вы настроили файл 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"

выполнить следующее:

  1. Запустите командную строку (CMD) с правами администратора.
  2. тип c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. пресс возвращение и это все!

важно открыть с правами администратора в противном случае вы можете найти ошибки, которые приходят, что не имеет смысла. Если вы получаете какие-либо, проверьте, что вы открыли его с правами администратора в первую очередь!

открыть с правами администратора Правой Кнопкой "Командная строка" и выберите "Запуск от имени администратора".

источник: http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/

Я должен добавить еще один пункт в этой теме. Для установки / удаления 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 файл рядом с вашей службой windows exe file установки со следующим контекстом:

CLS
ECHO Installing My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"

создать *.bat файл рядом с вашей службой windows exe file удалить со следующим контекстом:

CLS
ECHO Uninstalling My Windows Service 

START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"

выполнить каждый из bat file как 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"
  1. Запустите командную строку (CMD) с правами администратора.
  2. тип c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [ваш путь службы windows к exe]
  3. нажмите return
  1. Запустите командную строку Windows как администратор
  2. вставить этот код: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\, чтобы перейти в папку
  3. редактировать и запускать такое: 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 Desktop tab. Чем скопировать следующий код в имя_службы.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 папка вашей папки проекта. Чем открыть свойства вашего . Чем Гото Compatibility tab. Чем нажать на 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

    Ничего не найдено.