Mam kilka aplikacji konsolowych zainstalowanych jako usługi działające pod górną półką i jeśli zainstaluję je i uruchomię ręcznie, będą działały poprawnie. Jednak żaden z nich nie uruchamia się automatycznie, mimo że typ uruchomienia jest ustawiony na Automatyczny.Usługi automatyczne nie są uruchamiane
Aplikacje są skonfigurowane następująco:
HostFactory.Run(x =>
{
x.Service<MyApp>(s =>
{
s.ConstructUsing(name => container.Resolve<MyApp>());
s.WhenStarted(tc => tc.Start());
s.WhenStopped(tc =>
{
tc.Stop();
container.Dispose();
});
});
x.RunAsLocalSystem();
x.StartAutomatically();
x.EnableServiceRecovery(rc => rc.RestartService(5));
});
Aplikacje uruchamiane pod Win 2008 R2 i są instalowane przy użyciu pliku wsadowego wykonywane jako Admin. Plik wsadowy obejmuje:
app.exe install --sudo
app.exe start
Po uruchomieniu pliku partia usługi działają zgodnie z oczekiwaniami. Jednak jeśli uruchomię się ponownie, pozostaną zatrzymane.
Dziennik zdarzeń zwraca taką samą parę zdarzeń dla każdej usługi:
Event 7000: The service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion.
Event 7009: A timeout was reached (30000 milliseconds) while waiting for the service to connect.
Jedynym sposobem, aby uruchomić aplikację po restarcie jest uruchomienie app.exe start
z wiersza polecenia.
Wszelkie pomysły?
Właśnie uratowałeś mi 100 lat kopania w śmieciach informacji :) – alerya