Você está na página 1de 2

Criar servio de um executvel no Windows 2003

June 2nd, 2011 anderson


Skip to Comments
Dois alunos hoje pela manh me perguntou como criar um servio no Windows para que este
fosse inicializado pelo sistema no Windows 2003. Me lembrei da poca do Windows 98/NT,
que usvamos o antigo autoexec.bat e config.sys para executar tais tarefas. Hoje as coisas
esto mais fceis, inclusive com as ferramentas que os atuais SO disponibilizam aos
usurios.

Se fosse usar o Linux poderia colocar o programa no arquivo rc.local, mas nesse caso, que
Windows 2003 as coisas no so to simples. Encontrei informaes no site do clube do
hardware sobre o assunto e vou reproduzir o contedo.

Primeiro vocs devem entender o que um servio;

o Um servio, um programa que carregado antes mesmo do usurio se logar. (Na


chave RUN, o programa s executado quando um usurio se loga );
o Um servio, fica rodando na mquina mesmo quando o usurio executar um Log Off;
o Um servio no um executvel comum, para um programa poder rodar como um
servio, o mesmo deve ter o cdigo prprio para isso;
o No adianta tentar rodar um programa como servio se o mesmo no foi feito para
ser servio;
o Se um programa for feito para ser servio e nele ter um cdigo que dispara um
thread, no qual esse thread cria um processo de um programa qualquer, logo esse
programa qualquer herdar as caractersticas de um servio, logo se o servio tiver o
privilgio de System Account, o programa chamado pelo servio, ter o privilgio de
System Account tambm.
Na prtica:

Nenhum usurio (sem privilgios) poder matar o .exe que foi chamado pelo servio. Se esse
.exe for a calculadora do Windows por exemplo, a calculadora sempre estar em execuo.
Entendeu o poder?

Lembrando que um servio tem vrias chaves e valores setados no registro do windows, mas
como foi citado antes, para um programa ser executado como servio, o mesmo deve ser
escrito para tal finalidade e voc nem precisa se preocupar em ficar mexendo no registro,
pois o prprio SCM (Service Control Manager) j faz isso.

Duas ferramentas da prpria Microsoft, fazem isso: Applications as Services Utility


(srvany.exe) e Service Installer (instsrv.exe). Essa ferramentas fazem parte do Windows
Server 2003 Resource Kit Tools.

Esses dois utilitrios so bem pequenos, menos de 40 KB em conjunto. Por outro lado,
o Resource Kit Toolstem cerca de 12 MB.

Como exemplo de uso dos programas, vai um passo-a-passo de como se executar a


Calculadora do Windows como servio. Para executar outro programa, siga o modelo e faa
as devidas alteraes. Leia a ajuda doResource Kit Tools referente a esses dois utilitrios para
ver mais opes.

1. Baixe e instale o Resource Kit Tools.


2. Abra a pasta onde o Resource Kit Tools foi instalado e copie os
arquivos srvany.exe e instsrv.exe para uma pasta qualquer. Neste exemplo, os arquivo
sero copiados para C:\Windows. Se quiser, pode desinstalar oResource Kit Tools.

3. Abra uma janela do Prompt de comando e digite o comando abaixo:

C:\Windows\instsrv.exe Calculadora C:\Windows\srvany.exe

Calculadora o nome que dei ao servio. Pode usar o nome que quiser, com exceo
(suponho) dos nomes dos servios j existentes.

4. No Editor do registro (regedit.exe), abra a chave seguinte:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Calculadora

5. Crie uma nova chave de nome Parameters:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Calculadora\Param
eters

6. Crie na chave acima um novo Valor de sequncia de nome Application. D um duplo clique
em Application e digite o seguinte no campo em branco:

C:\Windows\System32\Calc.exe

Pode fechar o Editor do registro.

7. Clique em Iniciar, selecione Painel de controle => Ferramentas administrativas e clique em


Servios ou, alternativamente, clique em Iniciar => Executar e digite services.msc.

8. Na janela dos Servios, d um duplo clique em Calculadora. Em Propriedades Calculadora,


clique em Logon, marque a opo Permitir que o servio interaja com a rea de trabalho e
clique em OK.

9. Reinicie o computador.

Se quiser remover o servio criado, primeiro abra no Painel de controle a janela dos Servios,
localize o servio criado e pare-o. Depois, digite o seguinte na linha de comando:

C:\Windows\instsrv.exe Calculadora remove

Você também pode gostar