Instalar um serviço Windows usando uma linha de comandos do Windows?
quero instalar um serviço Windows usando uma linha de comandos do Windows (não a linha de comandos Visual Studio).
Como faço isto?14 answers
Navegue até à instalação.exe na sua pasta. net (para. net 4 é C:\Windows\Microsoft.NET\Framework\v4.0.30319 por exemplo) e usá-lo para instalar o seu serviço, assim:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
Se o nome da pasta tem um espaço como c:\program files\abc 123
, então você deve usar aspas duplas em torno da localização.
installutil.exe "c:\program files\abc 123\myservice.exe"
Torna as coisas muito mais fáceis se configurar um ficheiro bat como a seguir,
Por exemplo, para instalar um serviço, crie um "myserviceinstaller".MTD " e " Executar como administrador"@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
Desinstalar o serviço,
Basta adicionar um - u ao comando 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"
Não há nada de errado com o comando SC Create. Só precisas de saber o args correcto.
SC CREATE "MySVC" binpath= “D:\Me\Services\MySVC\MySVC.exe"
Executar o seguinte:
- Iniciar a linha de comandos (CMD) com direitos de administrador.
- Tipo
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
- Pressioneretorne e é isso!
É importante Abrir com direitos de administrador caso contrário você pode encontrar erros que surgem que não fazem sentido. Se tiveres algum, verifica se o abriste com direitos administrativos primeiro!
Para abrir com os direitos de administração , carregue com o botão direito em 'linha de comandos' e seleccione ' Executar como administrador".
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"
E desinstalar o comando deve ser:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Se estiver a usar o Powershell e quiser instalar o serviço.NET, poderá usar o Módulo Install-Service. É uma embalagem para a ferramenta InstalUtil.
Expõe 3 comandos
- Install - Service-invokes InstallUtil.comando exe pathtoexecutável
- Install-ServiceIfNotInstalled-first it checks if service is instalado se não executar o método Install-Service Uninstall-Service-it uninstalls service. Nome do serviço do caminho para executável pode ser usado.
Crie um ficheiro *.bat
ao lado do seu windows service exe
para instalar com o seguinte contexto:
CLS
ECHO Installing My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"
Crie um ficheiro *.bat
ao lado do seu serviço do windows exe
ficheiro para desinstalação com o seguinte contexto:
CLS
ECHO Uninstalling My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe"
Execute cada um dos bat
ficheiros como administrador para instalar ou desinstalar o seu serviço windows.
Serviço De Instalação:-
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
Sevice UnInsatall:-
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
- iniciar a linha de comandos (CMD) com direitos de administrador.
- Tipo c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [a sua localização de serviço do windows para o exe]
- pressione return
- Execute a linha de comandos do Windows como administrador
- Colar este código:
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
para ir para a pasta - edite e execute isto também:
installutil C:\ProjectFolder\bin\Debug\MyProject.exe
Nota: desinstalar: installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
O seguinte código , instalar e desinstalar o serviço,
Abra a comando prompt e executar o programa como um administrador dispare o comando abaixo e carregue em enter.
Sintaxe
Para Instalar
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
eg: o nosso caminho InstallUtil.exe C:\MyFirstService\bin\Debug\MyFirstService.exe
Desinstalar
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
eg: nosso caminho InstallUtil.exe-u C:\MyFirstService\bin\Debug\MyFirstService.exe
Para mais ajuda pode ver o seguinte link: programa de amostragem
Abra o Visual studio e seleccione o novo projecto seleccionando o modelo Windows Service
na página Windows Desktop
. Do que copiar o código seguinte para o seu nome do serviço.ficheiro 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." });
}
}
}
Carregue com o botão direito no service_name.arquivo cs e designer aberto de serviço. do que carregar com o botão direito e seleccionar Add Installer
. do que carregar com o botão direito em serviceProcessInstaller1
e alterar o seu valor de propriedade de Account
de User
para Local System
.
Remover o método static void main
do ficheiro Program.cs
.
Do que salvar e construir o seu projecto.
Nota: goto bin\Ddebug
pasta da sua pasta de projecto. Do que abrir as propriedades do seu ficheiro service_name.exe
. A conta do goto. Do que clicar em Change Settings For All Users
.
Seleccione a opção Run this program as an administrator
.
InstallUtil.exe
.
para ex: C:\Windows\Microsoft.NET\Framework64\v4.0.30319
.
agora escreva o seguinte comando:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe
Nota: - I é para instalar o serviço he E-u para Unsinstall.
Depois de-eu definir o caminho de escrever onde você quer instalar o seu servico.
Agora escreva o comando no comando do seguinte modo:
C:\TimerService\TimerService\bin\Debug>net start service_name
Nota: utilizar stop
para interromper o serviço.
Quando a sua versão de montagem e o seu projecto Visual studio Biuld setting on dot net 2 ou 4 instalar com a mesma versão.
Instalar o serviço com installutil
a mesma versão
se compilar em dot net 4
Tipo c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
se compilar em dot net 2
Tipo c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
Você deve abrir a linha de comandos, IR para
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"