boas tardes Tenho um serviço que tem que arrancar automaticamente aquando o windows, esse serviço liga-se a uma BD SQL express. Estou com um problema, o serviço é mais rápido a arrancar que os serviços SQL, e entao dá erro de ligação á BD, eu queria retardar o arranque do mesmo com um timer, será possivel fazer isso através de um batch? ou existe outra maneira de o fazer??? obrigado
Acho que em batch não dá para fazer uma pausa de x segundos. Eu faria um programa em C para por no arranque com uma função que demorasse os segundos que quisesse esperar e depois através do system("comando") executar o comando necessário para iniciar o serviço.
E esse serviço que dá erro não arranca? Podes tentar configurar, nas propriedades do serviço esse "delay":
Isso pode não ser grande ideia a menos que o proprio launcher seja ele mesmo um serviço. É que se não for ele pode nunca ser executado. A solução tosca está aqui. Não é bem bem um serviço, mas dá para desenrascar. Claro que falta codar o launcher, mas isso é basicamente um wait e correr o serviço real...
Asa_delta, atenção ao que eu disse pq não foi falar por falar. Um serviço é pouco mais que uma app glorificada, com a diferença fundamental que corre sem login. Se o a tua app for um batch, tem de ser corrida algures, e assume provavelmente um login (mesmo que seja o autologin). Quando te sugeri codares um launcher, foi precisamente pq o wrapper app que a MS disponibiliza para transformar apps em "quasi-serviços" não executa bat's.