Se o processo estiver travando durante ou imediatamente após a inicialização, o que parece ser o caso, um evento de "ID do evento" deve ser registrado no log do aplicativo, possivelmente cercado por algumas entradas de relatório de erros do Windows. / p>
Se eu fosse você, eu definiria procdump.exe da Sysinternals como meu depurador Just-In-Time. Você pode fazer isso com o comando:
procdump.exe -ma -i C:\dumps
Isso modifica a chave do Registro AEDebug para que sempre que um processo trava em seu sistema, ele acione o procdump.exe para capturar um despejo de memória do processo que você pode abrir no Windbg e ver o que estava na pilha logo antes dele morreu, etc.
Mas, de qualquer forma, se o processo não está travando, mas sim saindo normalmente devido a alguma outra condição interna em sua própria lógica, o que eu meio que suspeito porque eu não acho que o aplicativo teria tido a chance de escrever isso. Se você mencionou o log, use o Process Monitor (procmon) para rastrear o sistema em execução enquanto tenta iniciar o serviço.
Agora pare seu rastreio e siga seu processo. O que tentou acessar? Procure por Result != SUCCESS
eventos desse processo ... talvez ele estivesse procurando por um arquivo no disco ou uma chave do Registro que não foi encontrado. Você pode ver algo como o processo tentando ligar-se ao soquete na porta 443, mas foi negado o acesso ou não pôde encontrar um certificado, etc.
Embora não seja uma bala de prata, se você seguir os conselhos que dei a você, será a melhor informação que você terá e a melhor chance de depurar isso.