Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
anyservice [2010/03/10 16:26] – angelegt bush | anyservice [2010/03/11 13:37] – 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 NT mitbringen. | * Das Vorgehen bei der Installation ist nicht ganz trivial. Sie sollten deshalb einige Vorkenntnisse im Umgang mit Windows NT mitbringen. | ||
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 55: | ||
===== 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 203: | ||
\\ | \\ | ||
- | + | {{tag> | |