[Anleitung] Programme als Systemdienst/Service starten mit "Winserv"

Supernature

Und jetzt?
Teammitglied
Programme als Systemdienst/Service starten mit "Winserv"

Normalerweise erhält man ja immer Tipps und Anleitungen, wie man überflüssige Systemdienste entfernt oder deaktiviert, um so wertvolle Systemressourcen freizusetzen - diese Anleitung hier ist genau das Gegenteil, aber ebenso nützlich - hoffe ich zumindest :).

Mit dem angehängten Kommandozeilen-Programm "Winserv" ist es möglich, normale Windows-Programme als Systemdienst einzurichten.
Sie werden dann ohne Oberfläche direkt beim Booten gestartet - wird das Programm später normal aufgerufen, steht es in Sekundenschnelle zur Verfügung, weil es ja quasi schon lief. Der Vorteil gegenüber dem gewöhnlichen Autostart ist, dass keine Oberfläche und keine Tray-Icons geladen werden, und der Dienst wesentlich weniger Ressourcen benötigt als das in voller Pracht gestartete Programm.

Anforderungen gibt es verschiedene - bei mir waren es die Programme StarOffice und PhotoImpact - ich nutze sie gerne und oft, genervt hat mich nur die lange Ladezeit beim erstmaligen Aufruf. Nun habe ich beide als automatisch startende Dienste eingerichtet - der eigentliche Programmaufruf geht nun fantastisch schnell.
Klar ist natürlich, dass der Bootvorgang verzögert wird, je mehr Programme und Dienste beim Systemstart geladen werden müssen. Auch sollte man über genügend RAM-Reserve verfügen, wenn man auf diese Weise mehrere Programme schon beim Systemstart laden lässt.

Zur Veranschaulichung ein kleiner Vergleich, wie sich das auf meinem Rechner (Athlon64 3500, 1GB RAM) auswirkt:

Vorher: Erster Aufruf von PhotoImpact dauert 20-25 Sekunden
Mit installiertem Systemdienst: ca. 5 Sekunden
Zusätzliche RAM-Belastung: 2 MB

Vorher: Erster Aufruf von StarOffice dauert ca. 10 Sekunden
Mit installiertem Systemdienst: ca. 3 Sekunden
Zusätzliche RAM-Belastung: 18 MB

Was es im Einzelfall bringt, hängt sicher davon ab, wie die Programme aufgebaut sind - über weitere Vergleiche dieser Art würde ich mich freuen, dann sehen interessierte Leser gleich, ob es die Mühe wert ist.


Nun aber zur Anwendung
Das Programm "winserv.exe" ist wie gesagt ein Kommandozeilen-Tool, es benötigt also keine Installation, sondern wird direkt in einer DOS-Box mit den nötigen Parametern aufgerufen. Eine ausführliche, allerdings englische Doku ist in der Zip-Datei mit drin.
Für alle, die Deutsch bevorzugen, erkläre ich die wichtigsten Funktionen hier.

Die Befehls-Struktur ist im Grunde immer gleich:
winserv <Kommando> <Service-Name> <Service-Optionen> <Programm> <Programm-Optionen>

verfügbare Kommandos sind:

install richtet ein Programm als Dienst ein
configure ändert einen vorhandenen Dienst
uninstall entfernt den Dienst
showconfig zeigt die Konfiguration des Dienstes an
start startet den Dienst
restart stoppt den Dienst und startet ihn neu
stop stoppt den Dienst
pause hält den Dienst an
continue setzt den Dienst fort

Alle Befehle außer den ersten beiden können übrigens auf alle Windows-Dienste angewandt werden.

Den Kommandos "install" und "configure" können folgende Parameter mitgegeben werden:
-displayname Angezeigter Name des Dienstes
-description Beschreibung (das, was in der Diensteverwaltung in der zweiten Spalte steht)
-start Start-Art des Dienstes - "auto" "demand" oder "disabled" (Bedeutung selbstredend, oder?)
-depends Abhängigkeit zu anderen Diensten (Syntax: -depends service1,service2 etc.)
-user Benutzer, unter dem der Dienst läuft
-password Passwort des angegebenen Benutzers


Der typische Befehls-Aufbau ist also folgendermaßen:

winserv install <service-name> <service-optionen> <programm> <programm-optionen>

winserv configure <service-name> <service-optionen> <programm> <programm-optionen>

winserv uninstall <service-name>


Und damit man das nun mal am lebenden Beispiel sieht - so sahen die Install-Kommandos meiner Dienste aus:

winserv install StarOffice -displayname StarOffice -description "Startet StarOffice als Dienst" -start auto "D:\Programme\StarOffice 8\program\soffice.exe"

winserv install PhotoImpact -displayname PhotoImpact -description "Startet PhotoImpact als Dienst" -start auto "D:\Programme\Ulead Systems\Ulead PhotoImpact 11\Iedit.exe"


Bleibt mir nur noch, Euch viel Spaß und Erfolg beim Ausprobieren zu wünschen.
Und wie schon erwähnt, Feedback in Form von "bei Programm xyz hat es viel/nix gebracht" ist erwünscht.

Winserv Homepage: Winserv (@Sw4me)
 

Anhänge

  • winserv.zip
    22 KB · Aufrufe: 3.782
Zuletzt bearbeitet:

Plumber

chronische Wohlfühlitis
Hi Supi,
hab das Spielchen mal mit Map & Guide 12 probiert, funktioniert im Prinzip auch, nur bringt bei diesem Prog nicht viel.
Der eigentliche Programmstart ist zwar flott, aber das Nachladen der Europakarte geht deswegen nicht schneller.
Der ganze Start verkürzt sich nur um etwa 3-4 Sekunden bei gut 20-25 Sek Gesamtstartzeit.

Ein weiterer Test mit dem Avantbrowser.
Der startet zwar eh schnell, nur als Dienst will er überhaupt nicht, Icon erscheint im Tray, mehr passiert nicht. Abwürgen geht auch nur über den Taskmanager.

Outlook Express wird als Dienst gestartet und sofort wieder angehalten.
Beim normalen Aufruf ist OE dann aber sofort da, sicherlich direkt aus dem Cache weil die Platte nicht mal zuckt. Hier ist die Variante über Autostart praktischer

Nero 6.xx ist nett mit dieser Startart. Ich starte nicht Nero StartSmart, sondern direkt die Nero.exe, also das eigentliche Brennprogramm. Das übliche Durchsuchen des IDE und SCSI Bus entfällt wenn Nero aufgerufen wird.
Das Programm ist bei mir innerhalb 1 Sekunde Startbereit, Speicherlast lt. Taskmanager ~12 MB.

Da ich eh 2 GB Arbeitsspeicher habe und Auslagerungsdatei deaktiviert, kann so ein Feature recht attraktiv sein, werde noch weiter Sachen testen und Ergebnisse hier posten
 
Zuletzt bearbeitet:
Oben