Ich versuche, einen Dienst in einer benutzerdefinierten Aktion für meine WiX-Setup für ein Projekt C# zu starten.Ich kann keinen Dienst in WiX starten Benutzerdefinierte Aktion
Zuerst habe ich überprüfen, ob Dienst gestartet wird:
[CustomAction]
public static ActionResult StopService(Session session)
{
ServiceController MyService = null;
try
{
MyService = new ServiceController("MyService");
if (MyService != null) &&(MyService.Status != ServiceControllerStatus.Stopped))
{
MyService.Stop();
MyService.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 2, 0));
}
session.Log("Stop service");
}
catch (Exception ex)
{
session.Log(ex.ToString());
}
}
Aber es gibt eine Ausnahme, wenn ich versuche, den Status zu erhalten (MyService.Status
):
System.InvalidOperationException: Impossible d'ouvrir le service Mein Dienst über die Ordinateur '.'. ---> System.ComponentModel.Win32Exception: Le service spécifié n'existe pas ist in der Warteschlange installier --- Fin de la Spur des Pfahls d'exception interne --- System.ServiceProcess.ServiceController. GetServiceHandle (Int32 DesiredAccess) à System.ServiceProcess.ServiceController.GenerateStatus() à System.ServiceProcess.ServiceController.get_Status() à CustomAction.CustomActions.StopService (Session Sitzung)
Übersetzung: „Kann nicht Öffnen Sie den Dienst MyService auf diesem Computer -> Angegebener Dienst existiert nicht als installierter Dienst
Wie kann ich prüfen, ob ein Service installiert ist? (Ich habe überprüft, MyService ist nicht null)