Desejo instalar um serviço do Windows usando um prompt de comando do Windows (não o prompt de comando do Visual Studio).
Como eu faço isso?
Desejo instalar um serviço do Windows usando um prompt de comando do Windows (não o prompt de comando do Visual Studio).
Como eu faço isso?
Respostas:
Navegue até o installutil.exe na pasta .net (para o .net 4 é C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319, por exemplo) e use-o para instalar o serviço, assim:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
Nada de errado com o comando SC Create. Você só precisa conhecer os argumentos corretos:
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sc
comando, mas é algo diferente, não pode ser usado para registrar serviços.
Se o nome do diretório tiver um espaço como c:\program files\abc 123
, você deverá usar aspas duplas no caminho.
installutil.exe "c:\program files\abc 123\myservice.exe"
Isso facilita muito as coisas se você configurar um arquivo bat como o seguinte,
Por exemplo, para instalar um serviço, crie um "myserviceinstaller.bat" 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
para desinstalar o serviço,
Basta adicionar -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"
Faça o seguinte:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
É importante abrir com direitos de administrador, caso contrário, você poderá encontrar erros que não fazem sentido. Se você tiver algum, verifique se você o abriu primeiro com direitos de administrador!
Para abrir com direitos de administrador , clique com o botão direito do mouse em 'Prompt de Comando' e selecione 'Executar como administrador'.
Serviço de instalação: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
Desinstalar o Serviço: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
Devo adicionar mais um ponto nesta discussão. Para instalar / desinstalar a 64-bit
versão dos assemblies, deve-se usar a 64-bit
versão da ferramenta. Para instalar um serviço, o comando deve ser:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"
e para desinstalar o comando deve ser:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Crie um *.bat
arquivo ao lado do seu exe
arquivo de serviço do Windows para instalar no seguinte contexto:
CLS
ECHO Installing My Windows Service
START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe"
Crie um *.bat
arquivo ao lado do exe
arquivo de serviço do Windows para desinstalar 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
arquivos como Admin para instalar ou desinstalar o serviço do Windows.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
para ir para a pastainstallutil C:\ProjectFolder\bin\Debug\MyProject.exe
Nota: Para desinstalar:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
Abra o Visual studio e selecione um novo projeto, selecionando o Windows Service
modelo na Windows Desktop
guia. Em seguida, copie o código a seguir no arquivo 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." });
}
}
}
Clique com o botão direito do mouse no arquivo service_name.cs e abra o designer do serviço. clique com o botão direito e selecione Add Installer
. clique com o botão direito do mouse serviceProcessInstaller1
e altere o valor da propriedade de Account
de User
para Local System
.
Remova o static void main
método do Program.cs
arquivo. Em seguida, salve e construa seu projeto.
NOTA: vá para a bin\Ddebug
pasta da sua pasta do projeto. Em seguida, abra Propriedades do seu service_name.exe
arquivo. Do que ir para a Compatibility
guia. Do que clicar Change Settings For All Users
.
Selecione a opção Run this program as an administrator
.
Agora, você precisa abrir o CommandPromt como administrador. Depois de aberto, defina o diretório para onde seu InstallUtil.exe
arquivo está colocado. por 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 e -u para Desinstalar.
depois de -i defina o caminho onde você deseja instalar seu serviço.
agora escreva o comando no CommandPromt da seguinte maneira:
C:\TimerService\TimerService\bin\Debug>net start service_name
Nota: use stop
para interromper o serviço.
Agora abra ViewEventLog.exe
. Selecione Logs do Windows> Aplicativo. Lá, você pode verificar o log do seu serviço iniciando e parando o serviço.
Se você estiver usando o Powershell e quiser instalar o serviço .NET, poderá usar o módulo Install-Service . É um invólucro para a ferramenta InstalUtil.
Expõe 3 comandos
O código deste módulo pode ser visto aqui
o código a seguir, instale e desinstale o Serviço,
Abra o prompt de comando e execute o programa como administrador, ative o comando abaixo e pressione enter.
Sintaxe
Para instalar
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
por exemplo: Nosso caminho InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
Para desinstalar
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
por exemplo: Nosso caminho InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
para obter mais ajuda, você pode ver o seguinte link: programa de amostra
Siga as etapas ao implantar o Serviço Windows, não perca tempo
1- Execute o prompt de comando pelo administrador
2- Garanta o modo de liberação ao compilar no seu IDE
3- Dê um tipo ao seu instalador do projeto no design view
4- Selecione o tipo de autenticação de acordo com o caso
5- Garantir as dependências do software: se você estiver usando um certificado, instale-o corretamente
6- Vá ao seu console e escreva isto:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
existe um argumento -i oculto antes do caminho exe que -i c:\
você pode usar -u
para desinstalar
7- Procure no seu caminho .exe para parecer um arquivo de log. Você pode usar o visualizador de eventos para observar no recurso
abra o prompt de comando do desenvolvedor como administrador e navegue até
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Agora usar o caminho onde está o seu .exe
lá
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
quando sua versão de montagem e seu Visual studio projetam a configuração Biuld no dot net 2 ou 4, instalam-se com a mesma versão.
instalar serviço com installutil
a mesma versão
se construir na rede de pontos 4
Tipo c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
se construir na rede de pontos 2
Tipo c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
1.No menu Iniciar, selecione o diretório do Visual Studio e selecione Prompt de Comando do Desenvolvedor para VS.
2.O prompt de comando do desenvolvedor para o Visual Studio é exibido.
3. Acesse o diretório em que o arquivo executável compilado do seu projeto está localizado.
4. Execute o InstallUtil.exe no prompt de comando com o executável do seu projeto como parâmetro
Você deve abrir o prompt de comando, vá para
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Abra o prompt de comando como administrador, vá para a pasta onde .exe
reside. Para instalar Exe
como serviço
D:\YourFolderName\YourExeName /i
Para desinstalar o uso /u
.