Wie kann ich eine Ausnahme abfangen und den Topshelf-Service beenden?

Ich besitze einen Windows-Topshelf-Dienst, bei dem ich einige Überprüfungen durchführen möchte (d. H. Ob eine XML-Datei vorhanden ist). Wenn die Überprüfung fehlschlägt, muss der Windows-Dienst beendet werden.

Also habe ich versucht, die Prüfung in der Methode Start () durchzuführen und dann eine Ausnahme auszulösen:

public void Start()
{
    if (!File.Exists(_xmlFile) throw new FileNotFoundException();
    // Do some work here if xml file exists.
}

Allerdings bleibt der Windows-Dienst nach der Ausnahme, die ich dann manuell im Task-Manager beenden muss, als Prozess bestehen.

Gibt es eine Möglichkeit, den Dienst nicht auszuführen, wenn bestimmte Bedingungen (d. H. Datei nicht gefunden) zutreffen?