Hallo miteinander
Ich habe im Visual Studio 2010 einen Dienst implementiert, welchen ich mittels Kommandozeile über ein Initialisierungsargument installiere. Nach der erfolgreichen Installation (mittels Kommandozeile), möchte ich, dass der Dienst automatisch auch gestartet wird. Momentan muss ich jedes Mal in der Dienstverwaltung den Dienst manuell starten (mit “rechtsklick -> starten”).
Ich habe folgenden Code (Codeausschnitt) getestet => Mit dem Event “AfterInstall” (=> Siehe fett markierter Code; Hat nicht funktioniert):
[RunInstaller(true)]
public class CustomServiceInstaller : Installer
{
private ServiceProcessInstaller process;
private ServiceInstaller service;
public CustomServiceInstaller()
{
process = new ServiceProcessInstaller();
process.Account = ServiceAccount.LocalSystem;
service = new ServiceInstaller();
service.ServiceName = Program.ServiceName;
service.Description = Program.ServiceDescription;
service.StartType = ServiceStartMode.Automatic; //starts the service after each restart of the machine automatically
Installers.Add(process);
Installers.Add(service);
**service.AfterInstall += ServiceInstaller_AfterInstall;**
}
** private void ServiceInstaller_AfterInstall(object sender, InstallEventArgs e)
{//To start the service automatically after the installation
ServiceController sc = new ServiceController(Program.ServiceName);
sc.Start();
}**
}
Der Service wird zwar installiert, jedoch kommt kein Hinweis oder eine Meldung im cmd, dass er den Service versucht zu starten.
Was löst den “AfterInstall”-Event aus? Kann es sein, dass dieser bei mir aus irgendeinem Grunde gar nicht erst ausgelöst wird?
Gibt es andere Möglichkeiten, den Dienst nach der Installation automatisch zu starten? (z.B. habe ich den “Commit”-Event schon getestet => ohne Erfolg)
Ich bin über jede Antwort sehr dankbar!
Freundliche Grüsse, Masler37