Programme als Dienst starten

Wir alle sind von Natur aus faul. Meine Oma zum Beispiel besitzt eine Help-Desk Firma und ist besonders faul. Nun will sie auch von zuhause arbeiten. Die Help-Desk Oberfläche wird mittels VNC Server realisiert. Der Server startet leider nur per Script und nicht als Dienst. Also braucht sie eine Lösung wie das ganze als Dienst gestartet werden kann.

Jetzt denke Sie, ja gut dann setze ich mir das Programm/Script in den Autostart rein. Das ist natürlich keine schlechte Idee, doof nur wenn an dem Rechner noch mein Opa, Enkel und viele mehr arbeiten. Meine Oma möchte jedem Kunden schnellen Support geben, egal wer sich an dem Rechner angemeldet hat! Zudem startet das Programm nicht, wenn sich keiner angemeldet hat.
Dazu benötigen folgende Mittel:

Das Microsoft Resource-Kit. Genauer gesagt: Nur die „instsrv.exe“ & „srvany.exe“
Ein Programm welches als Dienst laufen soll (in diesem Fall: VNC-Viewer)

  • Evtl. Parameter – Je nachdem was mit gestartet werden soll.

Schritt 1:
Kopieren Sie als erstes Ihr Programm (welches als Dienst laufen soll) zusammen mit der instsrv.exe und srvany.exe in das gleiche Verzeichnis. Zum Beispiel in C:Fernwartung
Tipp: Programme die einen Installer besitzen bringen meistens auch einen eigenen Dienst mit!

Schritt 2:
Ab sofort arbeiten wir mit der Kommandozeile (cmd). Um diese aufzurufen gehen wir auf: Start -> Ausführen. Dort tippen Sie „cmd“ ein und bestätigen mit „OK“. Nun öffnet sich ein schwarzes Fenster. Meistens steht dort sowas wie:
„C:Dokumente und EinstellungenBenutzername>“
Jetzt müssen Sie in das richtige Verzeichnis wechseln (und das alles auf cmd Basis).
„c:“ (wechselt in das Laufwerk C)
„cd ..“ (geht einen Ordner zurück)
„cd Fernwartung“ (wechselt in den Ordner Fernwartung, wenn dieser auf der gleichen Ebene ist!)
In unserem Beispiel sieht die Abfolge so aus:
„cd ../../Fernwartung“

Die Windows Kommandozeile

Schritt 3:
Nun erstellen wir den Eintrag für die Registry. Auch dies muss per cmd-Befehl geschehen. Dieser sieht dann so aus: „instsrv.exe Dienst-Name Pfadsrvany.exe“
Der Programmname kann von Ihnen frei gewählt werden. Der Pfad muss korrekt angegeben werden!
So sieht das in unserem Beispiel aus: „instsrv.exe VNC-Server C:Fernwartungsrvany.exe“

Tipp: Der Dienst-Name taucht später wieder in den Diensten und der Registry auf. Sollten Sie also einmal den Dienst neustarten wollen, wäre es sinnvoll wenn Sie den Dienst-Namen sinnvoll erstellen.

Schritt 4:
Nun darf es wieder mit der Maus weitergehen. Wir müssen den Registry Eintrag bearbeiten. Gehen Sie wieder auf Start -> Ausführen und geben Sie dort „regedit“ ein. Nun öffnet sich der „Registry Editor“. In diesem Verzeichnis-Baum müssen Sie nach Ihrem grad erstellen Ordner suchen. Dieser nennt sich so, wie Sie den Dienst-Namen erstellt haben. Schauen Sie doch mal hier nach.
KEY_Local_Machine -> SYSTEM -> CurrentControlSet -> Services -> Dienst-Name. Vielleicht versteckt er sich ja da :o)

Der Windows Registrierungs-Editor

Schritt 5:
Nun machen Sie einen Rechtsklick auf „Dienst-Name“ -> Neu -> Schlüssel. Diesen neu erstellten „Ordner“ nennen Sie „Parameters“

So erstellen Sie den neuen "Ordner"

Schritt 6:
Jetzt wechseln Sie in den eben erstellen „Ordner“ Parameters und machen im rechten Fenster ein Rechtsklick. Nun auf: Neu -> Zeichenfolge. Benennen Sie diesen Eintrag mit „AppDirectory“ (groß- und Kleinschreibung beachten!)
Mit einem doppelklick auf den Eintrag können wir diesen editieren. Unter „Wert“ muss der Pfad eingegeben werden, der auf das Programm verweist.

So wird die Zeichenfolge erstellt Hier wird der Pfad editiert

Schritt 7:
Wir wiederholen Schritt 6 allerdings tragen wir „Application“ anstatt AppDirectory ein. Wir machen wieder einen doppelklick und geben wieder den Pfad ein, diesmal aber mit der Programm Exe. In unserem Falle sieht das so aus: „C:FernwartungRepeater.exe“
Dahinter können wir weitere Startparameter hinzufügen.

Hier wird der Pfad editiert

Schritt 8:
Nun müssen wir den Dienst einmal neustarten damit er unsere Startparameter auch übernimmt. Dafür gibt es 2 Möglichkeiten. Die bequeme Lösung ist es, indem wir einfach den Rechner neustarten. Es ist ja ein Dienst der startet automatisch mit :o)
Oder wir gehen in Start -> Systemsteuerung -> Verwaltung -> Dienste -> Dienst-Name. Dann nur noch mit einem Rechtsklick auf ihren Dienst und auf „Neu starten“ klicken. Fertig!

Hier kann man Windows-Dienste beenden/anhalten/neu starten

Nun kann meine Oma oder vielleicht Ihre Oma immer ihr bestes geben egal wer am Rechner angemeldet ist!

Sie möchten den Dienst wieder deinstallieren?
Sie gehen wie in Schritt 2 per Kommandozeilen in das entsprechende Verzeichnis in tippen dort folgende Befehl ein:
„instsrv.exe VNC-Server remove“

So wird der Dienst deinstalliert