Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
anyservice [2010/03/10 16:26] – angelegt bush | anyservice [2010/09/22 08:51] (aktuell) – bush | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Windows - Programme als Services ====== | + | ====== Windows - Programme als Services |
**Wir zeigen Ihnen hier, wie Sie ein beliebiges Programm als Service unter Windows starten.** | **Wir zeigen Ihnen hier, wie Sie ein beliebiges Programm als Service unter Windows starten.** | ||
Zeile 11: | Zeile 11: | ||
**Beachten Sie bitte:** | **Beachten Sie bitte:** | ||
- | * Nicht jedes Programm kann und sollte als Service " | + | * Nicht jedes Programm kann und sollte als Service " |
- | | + | |
- | * Das Vorgehen bei der Installation ist nicht ganz trivial. Sie sollten deshalb einige Vorkenntnisse im Umgang mit Windows | + | * Das Vorgehen bei der Installation ist nicht ganz trivial. Sie sollten deshalb einige Vorkenntnisse im Umgang mit Windows mitbringen. |
* Falls noch nicht vorhanden, müssen Sie zwei Programme aus dem Resource Kit auf Ihren PC laden und zur Ausführung bereitstellen. Die folgenden Seiten gehen davon aus, dass Sie beide Programme in dasselbe Verzeichnis speichern. | * Falls noch nicht vorhanden, müssen Sie zwei Programme aus dem Resource Kit auf Ihren PC laden und zur Ausführung bereitstellen. Die folgenden Seiten gehen davon aus, dass Sie beide Programme in dasselbe Verzeichnis speichern. | ||
Zeile 20: | Zeile 19: | ||
* Jedes Programm, das auf diese Weise als Service ins System integriert werden soll, benötigt seinen eigenen srvany-Service. | * Jedes Programm, das auf diese Weise als Service ins System integriert werden soll, benötigt seinen eigenen srvany-Service. | ||
- | Es liegt eine Lizenz für die Universität Freiburg vor. Deshalb können diese Programme nur nach Anmeldung mit einem gültigen Benutzerkonto des Rechenzentrums heruntergeladen werden.</ | + | Es liegt eine Lizenz für die Universität Freiburg vor. Deshalb können diese Programme nur nach Anmeldung mit einem gültigen Benutzerkonto des Rechenzentrums heruntergeladen werden. |
+ | |||
+ | < | ||
+ | <table border=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
**Jetzt geht's los!** | **Jetzt geht's los!** | ||
Mit wenigen Zeilenkommandos im DOS-Fenster und einigen Mausklicks haben Sie die Arbeit erledigt. | Mit wenigen Zeilenkommandos im DOS-Fenster und einigen Mausklicks haben Sie die Arbeit erledigt. | ||
- | Ich stelle das Vorgehen hier am Beispiel des SSL-Programmes **[[STUNNEL]]** vor. | ||
- | Bitte berücksichtigen: | + | Bitte berücksichtigen: |
- | Beispiel: " | + | Beispiel: |
\\ | \\ | ||
+ | |||
===== Schritt 1: Installieren von SRVANY ===== | ===== Schritt 1: Installieren von SRVANY ===== | ||
- | Vorausgesetzt, | + | Vorausgesetzt, |
Dann wechseln Sie am besten in dieses Verzeichnis und geben folgendes Kommando ein: | Dann wechseln Sie am besten in dieses Verzeichnis und geben folgendes Kommando ein: | ||
- | < | + | < |
- | Der **Service-Name**, | + | Der **Service-Name**, |
- | Wenn Sie z.B. den Stunnel für den Zugang zum Server pop3 des Rechenzentrums als Service installieren wollen, könnte die Vorbereitung dafür folgendermaßen lauten: | + | Damit wird also srvany.exe unter dem Namen testservice |
- | < | + | |
- | + | ||
- | Damit wird also srvany.exe unter dem Namen POP3service | + | |
Der Service startet automatisch, | Der Service startet automatisch, | ||
Nach dieser Registrierung läuft der Service noch nicht! | Nach dieser Registrierung läuft der Service noch nicht! | ||
Zeile 50: | Zeile 56: | ||
===== Schritt 2: Konfiguration von SRVANY ===== | ===== Schritt 2: Konfiguration von SRVANY ===== | ||
- | Nun benötigt der Service (im Beispiel: | + | Nun benötigt der Service (im Beispiel: |
- | Der Pfad in der Registry-Datei lautet | + | Der Pfad in der Registry-Datei lautet |
- | < | + | < |
- | + | ||
- | Bei Anwendung auf unser Beispiel: | + | |
- | < | + | |
Nach der Installation im Schritt 1 wurde sofort dieser Schlüssel angelegt. | Nach der Installation im Schritt 1 wurde sofort dieser Schlüssel angelegt. | ||
Nun müssen Sie in diesem Registry-Pfad zunächst den Unterschlüssel **Parameters** und darin dann drei Stringparameter (REG_SZ) anlegen, die das Anwendungsprogramm und seine Parameter bezeichnen. | Nun müssen Sie in diesem Registry-Pfad zunächst den Unterschlüssel **Parameters** und darin dann drei Stringparameter (REG_SZ) anlegen, die das Anwendungsprogramm und seine Parameter bezeichnen. | ||
- | Um Ihnen die Arbeit etwas zu erleichtern, | + | Um Ihnen die Arbeit etwas zu erleichtern, |
- | Die Stapeldatei: | + | **Die Stapeldatei |
< | < | ||
+ | @echo off | ||
+ | SET APPNAME=testservice | ||
+ | SET INSTSRV=c: | ||
+ | SET SRVANY=c: | ||
+ | echo. | ||
+ | if " | ||
+ | echo Einrichten des Service %APPNAME% | ||
+ | echo ---------------------------------------------------------------------- | ||
+ | echo Anhalten und Deinstallieren mit dem Aufruf %APPNAME% stop | ||
+ | echo Pfadangaben notfalls ergaenzen | ||
+ | echo. | ||
+ | echo Installieren des Service... | ||
+ | " | ||
+ | echo. | ||
+ | echo Installieren der Registry-Werte... | ||
+ | regedit " | ||
+ | echo. | ||
+ | echo Starten des Service... | ||
+ | net start " | ||
+ | goto ende | ||
+ | :stop | ||
+ | echo Anhalten und Deinstallieren des Service %APPNAME% | ||
+ | echo ---------------------------------------------------------------------- | ||
+ | echo Stoppen des Service... | ||
+ | net stop " | ||
+ | echo. | ||
+ | echo Deinstallieren des Service und der Registry-Werte... | ||
+ | " | ||
+ | :ende | ||
+ | echo. | ||
+ | echo *** Fertig *** | ||
+ | echo. | ||
</ | </ | ||
- | Die zugehörige Registry-Datei: | + | Ersetzen Sie bei den Zeilen |
+ | |||
+ | SET APPNAME=testservice\\ | ||
+ | SET INSTSRV=c: | ||
+ | SET SRVANY=c: | ||
+ | |||
+ | auf der rechten Seite der Zuweisung die Angaben nach Ihren Wünschen. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | Dazu passend müssen Sie eine Konfigurationsdatei für die Registry anlegen, die nachfolgend für unser Beispiel formuliert ist. Nennen Sie die Datei (APPNAME).reg | ||
+ | |||
+ | **Die zugehörige Registry-Datei | ||
< | < | ||
+ | REGEDIT4 (1. Zeile bei Windows XP) | ||
+ | Windows Registry Editor Version 5.00 (1. Zeile bei Windows 7) | ||
+ | |||
+ | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\testservice\Parameters] | ||
+ | " | ||
+ | " | ||
+ | " | ||
</ | </ | ||
+ | |||
+ | Je nach Betriebssystem-Version muss die erste Zeile umformuliert werden. Im obigen Beispiel sind zwei Versionen angegeben. Löschen sie die jeweils falsch Zeile aus der Datei (auch den Kommentar in Klammern!!!). | ||
+ | |||
+ | In der Zeile, die mit " | ||
+ | |||
+ | Achten Sie auch darauf, dass bei den Parameterwerten das Trennzeichen ' | ||
\\ | \\ | ||
- | ===== Schritt 3: Start der Anwendung | + | Und nun unsere Beispiel-Anwendung. |
+ | Es handelt sich um ein DOS-Batch-Script und heißt hier test.bat. | ||
- | Der neu festgelegte Service läuft | + | **Die zugehörige Anwendung zum Kopieren (z.B. nach test.bat): |
+ | < | ||
+ | @echo off | ||
+ | echo. >> | ||
+ | echo ---------------------------------------->> | ||
+ | echo Mein Parameter lautet " | ||
+ | echo. >> | ||
+ | dir c:\ >> | ||
+ | </ | ||
+ | |||
+ | Dieses kleine Script wird jedesmal, wenn der Service testservice startet, eine Meldung mit dem in der Registry gespeicherten Parameter " | ||
+ | test.log wächst also mit jedem Service-Start um die Ausgabedaten. | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== Schritt 3: Installation bzw. Start der Anwendung als Service ===== | ||
+ | |||
+ | Der neu festgelegte Service | ||
+ | |||
+ | Die Installation des Service | ||
- | < | + | < |
- | im Beispiel: | + | Sie können mit dem folgenden Kommando den Service auch manuell starten, nachdem er wie in Schritt 1 installiert wurde: |
- | < | + | < |
\\ | \\ | ||
===== Schritt 4: Stop bzw. Deinstallation des Service ===== | ===== Schritt 4: Stop bzw. Deinstallation des Service ===== | ||
+ | |||
+ | **Die manuelle Variante:** | ||
Zunächst beenden Sie den Betrieb mit: | Zunächst beenden Sie den Betrieb mit: | ||
- | < | + | < |
Danach entfernen Sie den Service aus dem System mit: | Danach entfernen Sie den Service aus dem System mit: | ||
- | < | + | < |
Dabei verschwindet dann auch der gesamte Eintrag | Dabei verschwindet dann auch der gesamte Eintrag | ||
- | | + | **HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\testservice\** |
aus der Registry. | aus der Registry. | ||
+ | |||
+ | \\ | ||
+ | **Die Script-Variante: | ||
+ | |||
+ | Rufen Sie das Script, mit dem Sie den Service eingerichtet haben, mit dem Argument ' | ||
+ | |||
+ | < | ||
+ | |||
+ | Dann wird der Service gestoppt und aus dem System entfernt. | ||
\\ | \\ | ||
Zeile 113: | Zeile 204: | ||
\\ | \\ | ||
- | + | {{tag> | |