:::: MENU ::::

Iniciar programas como serviço no Windows

Quando um programa é instalado e configurado para iniciar com o Windows, este será carregado somente depois que o usuário fizer login no sistema. Existem sistemas que precisam ser iniciados independente do login do usuário, já que representam servidores de sistemas comerciais, por exemplo. Sendo assim, faz-se necessário iniciá-lo como um serviço do Windows, visto que os serviços são carregados quando o Windows é inicializado. Nesse tutorial, te mostro como executar tal processo.

Dica: Antes de aplicar esse tipo de configuração em um sistema que está em produção, ou seja, no servidor de cliente, criei uma máquina virtual em seu ambiente de trabalho, para que você possa fazer testes e praticar, sem comprometer o bom funcionamento dos sistemas de seus clientes. Já que você irá precisar configurar opções de programas, fazer alterações, parar serviços e executar o programa.

Dependências:

Para nos auxiliar, será necessário baixar um programa chamado SrvStart, que é composto pelos seguintes arquivos:

  • srvstart.dll
  • logger.dll
  • srvstart.exe
  • srv.exe

Ambos devem ser copiados para a pasta x:/windows (onde x é a unidade em que o windows foi instalado)

Crie um arquivo de configuração

  • Abra um editor de textos de sua preferência, pode ser o bloco de notas, ou no meu caso o Sublime, e insira o seguinte texto, como abaixo:
[Programa]
startup:"Caminho\do\programa\instalado.exe"
shutdown_method=winmessage
  • Salve o arquivo com a extensão ini. Clique em “Arquivo > Salvar Como”, no campo “Tipo” selecione “Todos os arquivos” e digite o nome do arquivo com a extensão .ini. Ao terminar, copie o arquivo para a unidade C.

Crie o novo Serviço a ser inicializado

  • Execute o prompt de comando como administrador
  • Digite o seguinte comando, substituindo a palavra Programa, para o nome do seu aplicativo:
SC CREATE Programa Displayname= "Programa" binpath= "srvstart.exe Programa -c C:Programa.ini" start= auto

Ao executar o comando, receberá uma mensagem de sucesso. O comando é executado sem barra no caminho do arquivo. Portanto, o correto é você utilizar C:programa.ini e não C:\programa.ini.

De agora em diante o novo serviço será inicializado antes do usuário fazer login no Windows. Confira na lista de serviços do Windows, pressionando “Win+R” para abrir a caixa Executar e digite o comando services.msc.

Reinicie o computador e confira novamente se tudo correu bem.

 


Então, o que achou? Comente!