Warum Programme als Dienst ausführen?
Überblick
Der ISW App Service Manager ermöglicht es Ihnen, beliebige Windows-Anwendungen als Windows-Dienste auszuführen. Dies löst ein häufiges Problem in der Windows-Administration: Viele Programme (z.B. Node.js-Server, Python-Skripte, PowerShell-Skripte eigene Anwendungen) können nicht nativ als Windows-Dienst laufen.
Lizenzierung
Gute Software muss nicht teuer sein.
Einmalig 129,00 € (inkl. 19% MwSt.)
- Standortlizenz ohne Benutzerbegrenzung
- Keine Folgekosten, keine Abonnements
- Kostenlose Updates innerhalb der Hauptversion
Als private Lizenz 39,00 € (inkl. 19% MwSt.)
Produkthandbuch App Service Manager
Send download link to:
Automatischer Start beim Systemstart
Programme starten automatisch beim Hochfahren des Computers – ohne dass sich ein Benutzer anmelden muss. Dies ist ideal für Server, die nach einem Neustart sofort wieder verfügbar sein sollen.

Hintergrundausführung
Das Programm läuft im Hintergrund ohne sichtbares Fenster. Benutzer können sich an- und abmelden, ohne dass der Dienst beendet wird. Das Programm läuft auch, wenn niemand am Computer angemeldet ist.
Automatischer Neustart bei Absturz
Stürzt das Programm ab, wird es automatisch neu gestartet. Sie können die Verzögerung und maximale Anzahl der Neustarts konfigurieren. Dies erhöht die Verfügbarkeit Ihrer Anwendungen erheblich.
Zentrale Verwaltung
Alle konfigurierten Dienste werden an einem Ort verwaltet. Start, Stop und Neustart sind über die Windows-Dienstverwaltung oder diese GUI möglich. Einheitliches Logging erleichtert die Fehlersuche.
Typische Anwendungsfälle
- Webserver (Node.js, Python Flask/Django): Soll 24/7 laufen, auch ohne Benutzeranmeldung
- Backup-Tools: Müssen nachts laufen, wenn niemand am PC arbeitet
- Monitoring-Agents: Müssen permanent aktiv sein, um Systeme zu überwachen
- Synchronisations-Tools: Müssen im Hintergrund Dateien synchronisieren
- PowerShell/Batch-Scripte: Als Dienst für wiederkehrende Aufgaben ausführen
- Legacy-Anwendungen: Alte Programme ohne native Dienst-Unterstützung
Welche Programme können als Dienst laufen?
Wichtig: Nicht jedes Programm kann als Windows-Dienst ausgeführt werden! Lesen Sie dieses Kapitel sorgfältig, bevor Sie einen Dienst einrichten.
Das Problem: Session 0 Isolation
Seit Windows Vista laufen alle Windows-Dienste in einer speziellen Session namens “Session 0”. Diese Session hat keinen Desktop – es gibt keinen Monitor, keine Tastatur und keine Maus. Programme, die eine grafische Benutzeroberfläche (GUI) benötigen, können daher nicht als Dienst laufen.
| Session | Beschreibung |
| Session 0 | Dienste – kein Desktop, kein Monitor, keine GUI möglich |
| Session 1 | Erster angemeldeter Benutzer – Desktop, Monitor, GUI verfügbar |
| Session 2+ | Weitere Benutzer (z.B. Remote Desktop Verbindungen) |
Programme die funktionieren
| Programmtyp | Beispiele | Warum es funktioniert |
| Konsolenanwendungen | node.exe, python.exe, java.exe | Laufen ohne GUI, nutzen nur Konsole |
| Server-Anwendungen | nginx, Apache, Redis, MongoDB | Für Hintergrundausführung entwickelt |
| Scripte | PowerShell, Batch, Python | Über Interpreter aufrufbar |
| CLI-Tools | Eigene Kommandozeilen-Tools | Keine Benutzerinteraktion nötig |
Programme die NICHT funktionieren
| Programmtyp | Beispiele | Warum es scheitert |
| GUI-Anwendungen | Notepad, Word, WPF/WinForms Apps | Brauchen Desktop zum Anzeigen |
| Interaktive Programme | Programme mit Eingabeaufforderung | Kein Benutzer zum Eingeben da |
| Tray-Anwendungen | Programme mit Tray-Icon | Kein System-Tray in Session 0 |
| Alte Desktop-Apps | Legacy-Software mit GUI | Session 0 Isolation seit Vista |
Schnelltest: Kann mein Programm als Dienst laufen?
Beantworten Sie folgende Fragen:
- Hat das Programm ein Fenster oder eine grafische Oberfläche? → Wenn ja: Nicht geeignet
- Wartet das Programm auf Tastatureingaben? → Wenn ja: Nicht geeignet
- Zeigt das Programm ein Icon im System-Tray? → Wenn ja: Nicht geeignet
- Läuft das Programm in einem Konsolenfenster (schwarzes Fenster)? → Wenn ja: Wahrscheinlich geeignet
Alternativen für GUI-Programme
Wenn Ihr Programm eine GUI benötigt, haben Sie folgende Alternativen:
Option 1: Autostart-Ordner (empfohlen für einfache Fälle)
Legen Sie eine Verknüpfung zum Programm im Autostart-Ordner ab. Das Programm startet dann automatisch bei der Benutzeranmeldung. Pfad: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
Option 2: Aufgabenplanung (Task Scheduler)
Erstellen Sie eine geplante Aufgabe, die das Programm bei Anmeldung startet:
schtasks /create /tn “MeinProgramm” /tr “C:\Pfad\Programm.exe” /sc onlogon
Option 3: Programm aufteilen (für Entwickler)
Teilen Sie Ihr Programm in zwei Komponenten auf: Einen Dienst ohne GUI für die Hintergrundlogik und eine GUI-Anwendung, die mit dem Dienst kommuniziert (z.B. über Named Pipes, TCP oder REST-API).
Dateien
Die Anwendung besteht aus zwei Komponenten:
- AppServiceManager.exe: Die grafische Benutzeroberfläche zur Verwaltung
- exe: Der Windows-Dienst-Wrapper, der Ihre Anwendungen hostet
Die Benutzeroberfläche
Hauptfenster
Das Hauptfenster zeigt alle konfigurierten Dienste in einer Tabelle mit folgenden Spalten:
| Spalte | Beschreibung |
| Service Name | Technischer Name des Windows-Dienstes |
| Anzeigename | Benutzerfreundlicher Name für die Anzeige |
| Anwendung | Name der ausgeführten Programmdatei |
| Status | Aktueller Status: Läuft (grün), Gestoppt (grau), Startet…/Stoppt… (orange) |
| PID | Prozess-ID des laufenden Dienstes |
| Starttyp | Automatisch, Automatisch (Verzögert), Manuell oder Deaktiviert |

Schaltflächen
| Schaltfläche | Funktion |
| Hinzufügen | Öffnet den Dialog zum Erstellen eines neuen Dienstes |
| Bearbeiten | Öffnet den Dialog zum Bearbeiten des ausgewählten Dienstes |
| Entfernen | Deinstalliert den Dienst und löscht die Konfiguration |
| Starten | Startet den ausgewählten Dienst |
| Stoppen | Stoppt den ausgewählten Dienst |
| Neu starten | Stoppt und startet den Dienst neu |
| Logs öffnen | Öffnet das Log-Verzeichnis im Windows Explorer |
| Aktualisieren | Lädt die Dienst-Liste und Status neu |

Hinweis: Die GUI aktualisiert den Status automatisch alle 5 Sekunden. ISWServiceHost.exe läuft unabhängig von der GUI weiter – Sie können die GUI jederzeit schließen, ohne dass die Dienste gestoppt werden.
Einen neuen Dienst erstellen
Schritt-für-Schritt-Anleitung
- Klicken Sie auf “Hinzufügen” oder wählen Sie Datei → Service hinzufügen
- Geben Sie einen eindeutigen Service-Namen ein (z.B. “MeinWebServer”)
- Geben Sie einen benutzerfreundlichen Anzeigenamen ein
- Wählen Sie die auszuführende Programmdatei über “Durchsuchen”
- Konfigurieren Sie optionale Einstellungen in den anderen Tabs
- Klicken Sie auf “OK” um den Dienst zu erstellen und zu installieren
Konfigurationsdialog – Tab “Allgemein“
- Service Name: Eindeutiger technischer Name (keine Leerzeichen)
- Anzeigename: Benutzerfreundlicher Name für die Windows-Dienstverwaltung
- Beschreibung: Optionale Beschreibung des Dienstes
- Starttyp: Wann der Dienst gestartet werden soll

Konfigurationsdialog – Tab “Anwendung”
- Programmpfad: Vollständiger Pfad zur ausführbaren Datei (.exe)
- Argumente: Kommandozeilenargumente für das Programm
- Arbeitsverzeichnis: Verzeichnis, in dem das Programm gestartet wird
- Priorität: Prozesspriorität (Normal empfohlen)

Konfigurationsdialog – Tab “Neustart”
- Neustart-Verhalten: Nie, Immer, Bei Fehler oder Verzögert
- Verzögerung: Wartezeit in Millisekunden vor dem Neustart
- Neustarts: Maximale Anzahl aufeinanderfolgender Neustarts
- Reset-Periode: Nach dieser Zeit wird der Neustart-Zähler zurückgesetzt

Konfigurationsdialog – Tab “Logging”
- Logging aktivieren: Aktiviert die Ausgabeumleitung in Log-Dateien
- Log-Verzeichnis: Speicherort für Log-Dateien
- Log-Größe: Maximale Größe einer Log-Datei in MB
- Log-Dateien: Anzahl der aufzubewahrenden Log-Dateien

Konfigurationsdialog – Tab “Anmeldung”
- Standardmäßig laufen die Dienste als „SYSTEM“.
- Sofern notwendig kann auch ein Benutzer mit Passwort hinterlegt werden.
- Der Benutzer muss das Recht “Anmelden als Dienst” haben

Templates
Mit Templates können Sie Dienstkonfigurationen speichern und wiederverwenden. Dies ist besonders nützlich, wenn Sie ähnliche Dienste auf mehreren Computern einrichten möchten.
Template exportieren
- Wählen Sie einen Dienst in der Liste aus
- Wählen Sie Datei → Template exportieren oder Service → Als Template speichern
- Wählen Sie einen Speicherort und Dateinamen
Template importieren
- Wählen Sie Datei → Template importieren
- Wählen Sie die Template-Datei (.isw-template oder .json)
- Der Konfigurationsdialog öffnet sich mit den vorausgefüllten Werten
- Passen Sie Namen und Pfade an und klicken Sie auf OK
Hinweis: Templates enthalten aus Sicherheitsgründen keine Anmeldedaten (Benutzername/Passwort).
Speicherorte
| Daten | Pfad |
| Konfiguration | C:\ProgramData\ISW\AppServiceManager\Services\ |
| Log-Dateien | C:\ProgramData\ISW\AppServiceManager\Logs\<ServiceName>\ |
Windows-Ereignisprotokoll
Der ISW App Service Manager schreibt wichtige Ereignisse in das Windows-Ereignisprotokoll. Sie finden die Einträge in der Ereignisanzeige unter “Windows-Protokolle → Anwendung” mit dem Service-Namen als Quelle.
Ereignisse öffnen
- Drücken Sie Win+R und geben Sie “eventvwr.msc” ein
- Navigieren Sie zu “Windows-Protokolle → Anwendung”
- Filtern Sie nach “Quelle” mit Ihrem Service-Namen
Informations-Ereignisse
| Ereignis | Beschreibung |
| Service starting: [Name] | Service wird gestartet |
| Executable: [Pfad] | Konfiguration wurde geladen |
| Starting child process: [Pfad] | Anwendung wird gestartet |
| Child process started. PID: [ID] | Anwendung läuft |
| Service stop requested | Stop-Befehl empfangen |
| Stopping child process… | Anwendung wird beendet |
| Sent Ctrl+C signal to process | Graceful Shutdown initiiert |
| Child process stopped. Exit code: [X] | Anwendung beendet |
| Restarting in [X]ms (attempt N/Max) | Neustart geplant |
| Service stopped | Service vollständig gestoppt |
Warnungen
| Ereignis | Beschreibung |
| Child process exited unexpectedly. Exit code: [X] | Anwendung ist abgestürzt oder wurde unerwartet beendet |
| Process did not stop gracefully. Terminating… | Anwendung reagiert nicht, wird beendet (Kill) |
| Failed to write to log file | Log-Datei konnte nicht geschrieben werden |
| Failed to rotate log file | Log-Rotation fehlgeschlagen |
Fehler
| Ereignis | Beschreibung |
| Configuration not found: [Pfad] | Service-Konfiguration fehlt |
| Failed to start child process | Anwendung konnte nicht gestartet werden |
| Failed to start process: [Message] | Start-Fehler mit Details |
| Max restart count exceeded. Stopping. | Maximale Neustarts erreicht |
| Error stopping process: [Message] | Fehler beim Beenden |
App Service Manager – Es ist besser, wenn man weiß das die Dinge einfach laufen
Teil der ISW-Tools Suite von IT-Service Walter
© 2026 IT-Service Walter | Alle Rechte vorbehalten
