Eu criei o serviço usando
sc create myService binpath=myservice.bat
Mas quando inicio, ele falha com a seguinte mensagem de erro:
[SC] StartService FAILED 1053:
The service did not respond to the start or control request in a timely fashion.
No Win2k3, usei o srvany.exe no kit de recursos, mas não há kit de recursos para o win2k8. Por enquanto, instalei o srvany.exe na minha máquina, mas não acho que seja a melhor maneira de fazê-lo.
Obrigado!
Respostas:
Claro que você não pode executar um serviço como esse. Você tentou usar o srvany no servidor 2008? Até onde eu sei, não existe uma versão 'oficial' do srvany para o s2k8, mas você sempre pode tentar, não é?
EDIT: Ah, eu esqueci! Também usamos o FireDaemon para executar aplicativos que não são de serviço como serviços. No entanto, não é gratuito e sua funcionalidade é um pouco demais para as suas necessidades.
fonte
Use o NSSM para executar um arquivo .BAT ou qualquer arquivo .exe antigo como um serviço. É quase um substituto para o SRVANY e é um aplicativo sem frescura e sem complicações.
http://iain.cx/src/nssm/
Eu tive o mesmo problema que você e o NSSM foi o único utilitário que funcionou.
fonte
Usamos o Agendador de tarefas para executar tarefas sempre que o computador é iniciado (independentemente de um usuário estar conectado ou não)
fonte
Você não pode simplesmente executar um arquivo .BAT ou qualquer arquivo .exe antigo como um serviço. Os serviços do Windows não funcionam com você. Você pode usar um utilitário como o NSSM ( não-Sucking Service Manager ) ou o utilitário SRVANY não-livre da Microsoft para executar um programa arbitrário como um serviço, mas talvez descubra que não possui um comportamento de parada muito "gracioso".
fonte
O comando SC apenas adiciona as entradas de registro necessárias para um serviço - se o arquivo que você especificar não for um serviço válido, ele não o transformará em um.
fonte
de: esta publicação nos fóruns da technet: http://social.technet.microsoft.com/Forums/en-US/winserverMigration/thread/98a97aee-c62b-4683-94ab-3777899cf7de/
Aqui está o que fazer ...
No momento desta publicação, não havia Ferramentas do Windows Server 2008 Resource Kit, portanto, obtenha o "srvany.exe" das "Ferramentas do Windows Server 2003 Resource Kit" e copie-o para um local adequado no servidor Win2008 (por exemplo, C: \ Windows \ System32 \). Use "sc" para criar um novo serviço que inicie "srvany" (por exemplo, sc crie MyService binPath = C: \ Windows \ System32 \ srvany.exe DisplayName = "Meu serviço personalizado") Usando RegEdit: crie uma chave "Parâmetros" para o seu serviço (por exemplo, HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MyService \ Paramaters \) Usando RegEdit: na recém-criada chave "Parameters", crie um valor de string chamado "Application" e digite o caminho completo para o aplicativo que você deseja executar como um serviço. (Não são necessárias cotações.)
E isso deveria bastar.
Nota: alguns aplicativos armazenam suas configurações em uma seção do usuário, não em HKEY_LOCAL_MACHINE, portanto, você precisará executar o aplicativo para configurá-lo e, em seguida, configurar o serviço para executar como esse usuário.
fonte
tente isso ... funcionou para mim ..
fonte
Eu tropecei nessa coisa. Aqui está a ferramenta chamada Bat_To_Exe_Converter. É muito fácil converter arquivos .bat para arquivos .exe. Tente. Baixe o downloader primeiro e ele fará o download do Bat_To_Exe_Converter automaticamente. Realmente me ajudou a criar um serviço que executa meu arquivo .bat através de .exe. http://download.cnet.com/Bat-To-Exe-Converter/3001-2069_4-10555897.html?spi=eae5ab48292cc101b5f0ec370cf99ad0
fonte
eu usei schtasks do Windows.
você pode se referir a isso. https://technet.microsoft.com/en-us/library/cc725744.aspx#BKMK_hours
fonte
Encontrei duas outras opções que não levarão você à sua carteira.
Você pode
sc
iniciar osrvany
que aponta para o seu programa. (há uma postagem no fórum que não consigo vincular porque não tenho representante suficiente aqui, embora possua no StackOverflow - grumble)Aqui estão as etapas que o pôster original usou:
sc
para criar um novo serviço que é iniciadosrvany
(por exemplosc create MyService binPath=C:\Windows\System32\srvany.exe DisplayName="My Custom Service"
)Parameters
chave para o seu serviço (por exemploHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\
)Parameters
chave recém-criada , crie um valor de sequência chamadoApplication
e insira o caminho completo para o aplicativo que você deseja executar como serviço. (Não são necessárias cotações.)Se isso parecer um hack , você poderá criar um serviço .NET para iniciar seu processo. Se você quiser pular algumas etapas, aqui está um serviço .NET de código aberto que pode iniciar processos genéricos:
http://www.codeproject.com/KB/system/xyntservice.aspx
Ajuste-o às suas necessidades, mas ele fará a maior parte do que você deseja fora da caixa.
fonte