Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
anyservice [2010/03/11 10:09] – Downloads eingebaut 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 23: | Zeile 22: | ||
< | < | ||
- | <table border=" | + | <table border=" |
< | < | ||
- | < | + | < |
- | < | + | < |
+ | < | ||
</ | </ | ||
</ | </ | ||
Zeile 34: | Zeile 34: | ||
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**, | + | |
- | Wenn Sie z.B. den Stunnel für den Zugang zum Server pop3 des Rechenzentrums als Service | + | Der **Service-Name**, |
- | < | + | |
- | Damit wird also srvany.exe unter dem Namen POP3service | + | Damit wird also srvany.exe unter dem Namen testservice |
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 59: | 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 zum kopieren:** | + | **Die Stapeldatei zum Kopieren (z.B. nach testservice.bat):** |
< | < | ||
@echo off | @echo off | ||
- | SET APPNAME="testservice" | + | SET APPNAME=testservice |
- | SET SRVANY="c: | + | SET INSTSRV=c: |
- | SET INSTSRV="c: | + | SET SRVANY=c: |
echo. | echo. | ||
if " | if " | ||
- | echo Einrichten des Service APPNAME | + | echo Einrichten des Service |
echo ---------------------------------------------------------------------- | echo ---------------------------------------------------------------------- | ||
- | echo Anhalten und Deinstallieren mit dem Aufruf | + | echo Anhalten und Deinstallieren mit dem Aufruf |
echo Pfadangaben notfalls ergaenzen | echo Pfadangaben notfalls ergaenzen | ||
echo. | echo. | ||
echo Installieren des Service... | echo Installieren des Service... | ||
- | " | + | "%INSTSRV%" "%APPNAME%" "%SRVANY%" |
echo. | echo. | ||
echo Installieren der Registry-Werte... | echo Installieren der Registry-Werte... | ||
- | regedit " | + | regedit "%APPNAME%.reg" |
echo. | echo. | ||
echo Starten des Service... | echo Starten des Service... | ||
- | net start " | + | net start "%APPNAME%" |
goto ende | goto ende | ||
:stop | :stop | ||
- | echo Anhalten und Deinstallieren des Service APPNAME | + | echo Anhalten und Deinstallieren des Service |
echo ---------------------------------------------------------------------- | echo ---------------------------------------------------------------------- | ||
echo Stoppen des Service... | echo Stoppen des Service... | ||
- | net stop " | + | net stop "%APPNAME%" |
echo. | echo. | ||
echo Deinstallieren des Service und der Registry-Werte... | echo Deinstallieren des Service und der Registry-Werte... | ||
- | " | + | "%INSTSRV%" "%APPNAME%" remove |
:ende | :ende | ||
echo. | echo. | ||
echo *** Fertig *** | echo *** Fertig *** | ||
echo. | echo. | ||
- | pause | ||
</ | </ | ||
+ | |||
+ | 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. | ||
+ | |||
\\ | \\ | ||
- | **Die zugehörige Registry-Datei: | + | |
+ | 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 | + | REGEDIT4 |
+ | Windows Registry Editor Version 5.00 (1. Zeile bei Windows 7) | ||
- | [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\$appname\\Parameters] | + | [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 beim nächsten Systemstart | + | **Die zugehörige Anwendung |
+ | < | ||
+ | @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. | ||
- | im Beispiel: | + | \\ |
- | < | + | ===== Schritt 3: Installation bzw. Start der Anwendung als Service ===== |
+ | |||
+ | Der neu festgelegte Service wird im obigen Script sofort gestartet und läuft bei jedem Systemstart automatisch los. | ||
+ | |||
+ | Die Installation des Service und der erste Start wird durch den einfachen Aufruf des Batch-Scriptes durchgeführt: | ||
+ | |||
+ | < | ||
+ | |||
+ | 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. | ||
\\ | \\ |