Als Windows-Dienst einrichten
Schritt-für-Schritt-Anleitung zum Betrieb von Automatic X-Invoice Processor als Windows-Dienst im Hintergrund
Diese Anleitung zeigt, wie Sie Automatic X-Invoice Processor als Windows-Dienst einrichten, der dauerhaft im Hintergrund läuft - ohne dass ein Benutzer angemeldet sein oder das Programmfenster geöffnet sein muss. Das ist die richtige Betriebsart für Server und für Rechner, die rund um die Uhr E-Rechnungen verarbeiten sollen.
Der Dienst nutzt das Programm AXPProcessor.exe, das bei der Installation neben dem normalen Programm liegt. Das Hauptfenster starten Sie danach nur noch gelegentlich, um Profile zu pflegen oder die Protokolle zu prüfen.
Auf einen Blick
- Schwierigkeit: Fortgeschritten (Administrator-Rechte erforderlich)
- Zeitbedarf: ca. 15 Minuten
- Voraussetzungen: Installiertes Programm, ein Windows-Benutzerkonto für den Dienst, Administrator-Rechte zum Bestätigen der Dienst-Einrichtung
- Ergebnis: Automatic X-Invoice Processor verarbeitet E-Rechnungen dauerhaft im Hintergrund, auch ohne angemeldeten Benutzer
Video-Tutorial: Als Windows-Dienst einrichten (mit Sprachausgabe und optionalen Untertiteln)
Hinweis: Genügt es, wenn die Verarbeitung läuft, solange ein Benutzer angemeldet ist? Dann reicht der einfachere unauffällige Dauerbetrieb im Infobereich - siehe Anleitung: Autostart und Hintergrundbetrieb. Weitere Details zum Dienst-Modus (Kommandozeilen-Parameter, Diagnose) finden Sie in der Programmhilfe, Kapitel 60.1.4.
Schritt 1: Ein eigenes Benutzerkonto für den Dienst wählen
Legen Sie für den Dienst ein eigenes Windows-Benutzerkonto an (oder verwenden Sie ein vorhandenes Benutzer- bzw. Domänenkonto). Unter diesem Konto wird der Dienst später laufen.
Verwenden Sie nicht das Konto "Lokales System". Der Grund: Einstellungen und Berechtigungen sind in Windows immer an einen bestimmten Benutzer gebunden. Läuft der Dienst unter "Lokales System", kommt er an genau diese Dinge nicht heran:
- die Profile, Programmoptionen und die Lizenz (sie liegen im Anwendungsdaten-Ordner des Benutzers)
- gespeicherte Kennwörter der E-Mail-Versandkonten (insbesondere bei Speicherung im Windows-Tresor) und die Anmeldung bei Microsoft 365 (Exchange Online)
- Netzwerk-Drucker (Druckerverbindungen sind je Benutzer eingerichtet)
Außerdem sehen sich Hauptfenster und Dienst nur dann gegenseitig (Statusanzeige, Protokolle), wenn beide unter demselben Benutzer laufen.
Empfehlung: Richten Sie ein dediziertes Konto wie AXP-Service ein und vergeben Sie ein Passwort, das nicht abläuft.
Schritt 2: Programm einmalig unter diesem Konto einrichten
Melden Sie sich einmalig mit dem Dienst-Konto an Windows an und starten Sie das normale Programm (AutomaticXInvoiceProcessor.exe). Richten Sie hier alles fertig ein:
- Lizenz eintragen.
- Profile anlegen oder importieren und mit einem Testlauf prüfen (siehe Anleitung: Erste Schritte).
- Falls Profile E-Mails versenden: das Versandkonto mit Testnachricht senden... prüfen; falls sie drucken: den Drucker einmal unter diesem Konto verbinden.
- Falls überwachte Ordner oder Speicherorte auf Netzlaufwerken liegen: das Laufwerk einmal unter diesem Konto verbinden (mit "Verbindung bei Anmeldung wiederherstellen") - oder in den Profilen gleich den Netzwerkpfad (
\\Server\Freigabe\...) verwenden. Ein Dienst sieht Netzlaufwerke nicht; den Netzwerkpfad hinter einem Laufwerksbuchstaben kennt er nur, wenn das Laufwerk hier verbunden ist.
Dieser Schritt ist wichtig: Profile, Optionen und Lizenz werden für genau dieses Benutzerkonto hinterlegt. Der Dienst kann später nur das verwenden, was hier unter seinem Konto eingerichtet wurde.
Schritt 3: Dienst einrichten
Starten Sie - weiterhin unter dem Dienst-Konto - das Programm und öffnen Sie Optionen → Windows-Dienst. Hier liegen die Betriebsart, der Live-Status des Dienstes und alle Verwaltungs-Aktionen beieinander.
Programmoptionen, Seite Windows-Dienst
Klicken Sie auf Dienst einrichten... und tragen Sie ein:
- Dienstname: frei wählbar, vorgeschlagen ist
AXP2Service.
- Windows-Benutzerkonto: das Konto aus Schritt 1, z. B.
.\AXP-Service. Bei einem Domänenkonto schreiben Sie Domäne\Kontoname.
- Kennwort dieses Kontos.
Nach einer einzigen Administrator-Bestätigung erledigt das Programm alles Weitere: Es legt den Dienst mit dem richtigen Programmpfad an, setzt den automatischen Start und die Wiederherstellung nach einem Absturz (drei Neustartversuche im Minutenabstand), vergibt dem Dienstkonto das Windows-Recht "Als Dienst anmelden" und startet den Dienst. Der automatische Start ist dabei verzögert: So scheitert die Anmeldung des Dienstkontos nach einem Neustart nicht an einem Netzwerk, das noch nicht bereit ist.
Das Kennwort wandert dabei nicht über die Befehlszeile, wo andere Programme es mitlesen könnten, sondern über eine kurzlebige, verschlüsselte Datei, die sofort wieder gelöscht wird. Sind Sie selbst kein Administrator, bestätigt ein Administrator die Windows-Abfrage mit seinem eigenen Konto - auch das funktioniert.
Alternative: Einrichtung per Eingabeaufforderung
Wenn Sie den Dienst lieber selbst anlegen (z. B. per Skript auf vielen Rechnern), öffnen Sie eine Eingabeaufforderung als Administrator. Passen Sie den Pfad zur AXPProcessor.exe an Ihren Installationsort an (Standard ist C:\Program Files\Automatic X-Invoice Processor 2) und tragen Sie bei obj= Ihr Dienst-Konto aus Schritt 1 ein:
sc.exe create "AXP2Service" binPath= "\"C:\Program Files\Automatic X-Invoice Processor 2\AXPProcessor.exe\" --service"
sc.exe config "AXP2Service" obj= ".\AXP-Service" password= "IhrPasswort"
binPath= verweist auf die AXPProcessor.exe mit dem Parameter --service.
obj= ist das Benutzerkonto, unter dem der Dienst läuft - genau das Konto, unter dem Sie in Schritt 2 alles eingerichtet haben. Bei einem lokalen Konto schreiben Sie .\Kontoname, bei einem Domänenkonto Domäne\Kontoname.
Wichtig: Nach binPath=, obj= und password= steht jeweils ein Leerzeichen - das verlangt sc.exe so. Achten Sie außerdem darauf, dass binPath= wirklich auf die AXPProcessor.exe zeigt und nicht auf die AutomaticXInvoiceProcessor.exe - mit der Programmoberfläche als Dienst bliebe der Start hängen. Falls das doch passiert: Die Seite Windows-Dienst erkennt den Fehler und stellt ihn über Korrigieren richtig.
Den automatischen Start, die Absturz-Wiederherstellung und den ersten Start müssen Sie auch auf diesem Weg nicht selbst einrichten - das übernimmt im nächsten Schritt das Programm für Sie.
Schritt 4: Option "Externer Prozessor" aktivieren
Damit sich das Hauptfenster und der Dienst nicht gegenseitig stören, aktivieren Sie - weiterhin unter dem Dienst-Konto - auf derselben Seite Optionen → Windows-Dienst ganz oben unter Betriebsart das Häkchen bei "Hintergrundprozessor wird extern verwaltet (z. B. als Windows-Dienst)". Schließen Sie den Dialog anschließend mit OK.
Was diese Option bewirkt: Das Hauptfenster geht davon aus, dass der Dienst die Verarbeitung übernimmt. Es startet und beendet also keinen eigenen Verarbeitungsprozess mehr, sondern dient nur noch zur Konfiguration und zur Anzeige der Protokolle. Ohne diese Option hielte sich das Fenster zwar zurück, solange der Dienst verarbeitet (Statusleiste "Verarbeitung durch den Windows-Dienst") - es würde aber selbst zu verarbeiten beginnen, sobald der Dienst einmal angehalten ist.
Falls Sie Schritt 3 übersprungen haben: Ist noch gar kein Dienst eingerichtet, bietet das Programm beim Bestätigen die Einrichtung direkt an - mit demselben Dialog wie Dienst einrichten....
Wenn Sie den Dienst per Eingabeaufforderung angelegt haben: Das Programm erkennt beim Bestätigen, dass er noch nicht läuft, und bietet an, ihn direkt zu starten und, falls nötig, auf automatischen Start zu setzen - dabei wird auch die automatische Wiederherstellung nach einem Dienst-Absturz eingerichtet. Bestätigen Sie die Rückfrage mit Dienst starten und die anschließende Administrator-Abfrage.
Schritt 5: Dienst prüfen
Den schnellsten Überblick gibt die Seite Optionen → Windows-Dienst selbst: Die Ampel steht auf grün, wenn der Dienst läuft und verarbeitet; darunter stehen Dienstname, Status samt Starttyp, Konto und Programmpfad. Steht sie auf Orange oder Rot, benennt die Seite den Grund und bietet die passende Aktion an (Dienst starten bzw. Korrigieren).
Zusätzlich können Sie gegenprüfen:
In der Windows-Diensteverwaltung (services.msc) sollte "AXP2Service" den Status "Wird ausgeführt" und den Starttyp "Automatisch (Verzögerter Start)" haben (oder "Automatisch", falls Sie das bewusst so eingestellt haben). Nach einem Neustart des Rechners startet Windows den Dienst deshalb erst etwa zwei Minuten nach dem Hochfahren; bis dahin zeigt die Statusleiste des Programms "Externer Prozessor - der Dienst startet in spätestens ... Sekunden".
Im Task-Manager sehen Sie zwei AXPProcessor.exe-Prozesse - das ist beabsichtigt: Der eine ist der Überwacher (der eigentliche Dienst), der andere der Arbeitsprozess, der die Verarbeitung ausführt. Bleibt eine Datei einmal dauerhaft hängen, ersetzt der Überwacher nur den Arbeitsprozess, und die Verarbeitung läuft ohne Eingriff weiter.
Bei Problemen hilft die Datei ServiceDiagnostics.log - auf der Seite Windows-Dienst direkt über Öffnen erreichbar. Sie liegt im Anwendungsdaten-Ordner des Dienst-Kontos:
%AppData%\Automatic X-Invoice Processor 2\ServiceDiagnostics.log
Sie enthält die Startmeldungen; im Dienst-Betrieb steht dort IsWindowsService=True. Steht dort nur IsWindowsService=False, läuft der Dienst nicht wie erwartet. Die Zeile Profil-Umgebung nennt Benutzerkonto und Benutzerprofil des Dienstes; läuft er unter "Lokales System", steht dort zusätzlich eine Warnung.
Die regulären Verarbeitungs- und Fehlerprotokolle erscheinen wie gewohnt im Hauptfenster unter Protokoll.
Schritt 6: Frühwarnung bei Stillstand einrichten (empfohlen)
Im unbeaufsichtigten Dauerbetrieb bemerkt niemand sofort, wenn die Verarbeitung einmal stehen bleibt. Richten Sie deshalb die Störungsmeldung ein: Das Programm schickt Ihnen dann automatisch eine E-Mail, sobald über einen festgelegten Zeitraum keine Verarbeitung mehr stattgefunden hat - so erfahren Sie von einem Problem, ohne selbst nachsehen zu müssen. Im Dienst-Betrieb übernimmt der Überwacher-Prozess diese Kontrolle.
Öffnen Sie Optionen → Verarbeitung → E-Mail-Benachrichtigungen, aktivieren Sie "Nachricht senden, wenn keine Verarbeitung seit x Minuten" und tragen Sie eine Zeitspanne sowie einen oder mehrere Empfänger ein. Der Versand nutzt das Konto aus Optionen → E-Mail-Versand.
Unabhängig von der E-Mail landet jede erkannte Störung immer im Fehlerprotokoll und in der Windows-Ereignisanzeige.
Schritt 7: Laufender Betrieb
Ab jetzt verarbeitet der Dienst E-Rechnungen dauerhaft im Hintergrund - unabhängig davon, ob ein Benutzer angemeldet ist. Das Hauptfenster starten Sie nur noch bei Bedarf, um Profile zu ändern oder Protokolle anzusehen; die eigentliche Verarbeitung bleibt beim Dienst. Schließen beendet das Hauptfenster dann wirklich, auch wenn "Beim Schließen in den Infobereich verschieben" gesetzt ist - die Verarbeitung läuft im Dienst weiter.
Möchten Sie den Dienst später anhalten oder entfernen, nutzen Sie die Schaltflächen Dienst anhalten bzw. Dienst entfernen... auf der Seite Optionen → Windows-Dienst. Nach dem Entfernen fragt das Programm, ob es die Betriebsart gleich mit zurückstellen soll - sonst verarbeitet niemand mehr. Der Weg über die Eingabeaufforderung funktioniert weiterhin:
sc.exe stop "AXP2Service"
sc.exe delete "AXP2Service"
Bei der Deinstallation des Programms werden registrierte Verarbeitungsdienste automatisch angehalten und entfernt; bei einem Update bleibt der Dienst bestehen - das Setup hält ihn kurz an und startet ihn nach der Installation wieder.
Häufige Probleme
| Problem |
Lösung |
| Hauptfenster zeigt keinen Verarbeitungsstatus, obwohl der Dienst läuft |
Dienst und Hauptfenster müssen unter demselben Benutzerkonto laufen. Die Seite Optionen → Windows-Dienst weist auf ein abweichendes Dienstkonto ausdrücklich hin und zeigt es unter "Konto" an - dort darf nicht "Lokales System" stehen. |
| Häkchen "Externer Prozessor" ist gesetzt, aber es wird gar nichts verarbeitet |
Die Seite Optionen → Windows-Dienst zeigt diesen Zustand rot an und benennt die Ursache: kein Dienst eingerichtet, Dienst gestoppt oder falsch eingerichtet. Die passende Schaltfläche (Dienst einrichten..., Dienst starten, Korrigieren) behebt es mit einer Administrator-Bestätigung. Auch beim Programmstart weist das Programm nach kurzer Anlaufzeit selbst darauf hin und bietet den Start bzw. die Korrektur an. Fehlt nur der Autostart (Starttyp "Manuell"), setzt ihn Dienst starten gleich mit (als verzögerten Start) - sc.exe create allein legt den Dienst nämlich nur auf "Manuell" an. |
| Dienststart hängt endlos oder bricht mit Fehler 1053 ab |
Meist zeigt der binPath= auf die falsche Programmdatei (Programmoberfläche statt AXPProcessor.exe). Die Seite Windows-Dienst meldet "verweist auf ein falsches Programm" - Korrigieren stellt den Pfad um und startet den Dienst. |
| Dienst startet und beendet sich sofort wieder |
ServiceDiagnostics.log öffnen (Schaltfläche Öffnen auf der Seite Windows-Dienst oder im AppData-Ordner des Dienst-Kontos, siehe Schritt 5) - dort steht der Grund. |
| Dienststart scheitert mit Anmeldefehler 1069 |
Windows konnte das Dienstkonto nicht anmelden. Meist wurde das Kennwort geändert, das Konto ist vorübergehend gesperrt, oder ihm fehlt das Recht "Als Dienst anmelden". Klicken Sie auf der Seite Windows-Dienst auf Dienst starten: Nach dem Anmeldefehler bietet das Programm an, das Kennwort neu einzugeben; dabei vergibt es das Recht neu und startet den Dienst. Den Dienst zu entfernen oder den Rechner neu zu starten ist nicht nötig. Tritt der Fehler nur nach einem Neustart des Servers auf, war das Netzwerk beim Hochfahren noch nicht bereit: Stellen Sie den Starttyp auf "Automatisch (Verzögerter Start)" - in services.msc oder per sc.exe config "AXP2Service" start= delayed-auto; bei über das Programm eingerichteten Diensten ist das Standard. Verwaltet eine Gruppenrichtlinie das Recht "Als Dienst anmelden", kann sie die Vergabe wieder entfernen; nehmen Sie das Dienstkonto dann in die Richtlinie auf. Melden Sie sich an Windows mit einem Microsoft-Konto per PIN/Windows Hello an, lässt Windows die Kennwort-Anmeldung für Dienste unter Umständen nicht zu; verwenden Sie dann ein lokales Benutzerkonto. |
Dienst läuft, verarbeitet aber nicht; in der ServiceDiagnostics.log stehen Datenbankfehler (z. B. "disk I/O error") |
Die Anwendungsdaten des Dienst-Kontos liegen vermutlich auf einer Netzwerkfreigabe (Ordnerumleitung) - die Zeile AppData: in der ServiceDiagnostics.log ist dann mit "(NETZWERKPFAD!)" markiert. Der Dienst kann die Verarbeitungs-Datenbank dort nicht zuverlässig nutzen; nehmen Sie das Dienst-Konto von der Ordnerumleitung aus. |
| Zwei AXPProcessor-Prozesse im Task-Manager |
Beabsichtigt: Überwacher + Arbeitsprozess (siehe Schritt 5). |
| Netzwerk-Drucker funktioniert im Dienst nicht |
Druckerverbindungen gelten je Benutzer. Den Drucker einmal unter dem Dienst-Konto verbinden, dann erkennt ihn auch der Dienst. |
Im Dienst werden Dateien auf einem Netzlaufwerk (z. B. Y:\...) nicht gefunden oder nicht gespeichert |
Der Dienst kennt den Netzwerkpfad hinter dem Laufwerksbuchstaben nur, wenn das Laufwerk unter dem Dienst-Konto auf diesem Rechner verbunden ist und das Programmfenster dort lief - typisch nach einem Profil-Import von einem anderen Rechner. Tragen Sie in den Profilen den Netzwerkpfad (\\Server\Freigabe\...) ein, oder verbinden Sie das Laufwerk unter dem Dienst-Konto und starten Sie das Programmfenster einmal (siehe Schritt 2). |
| "Lokales System" wurde gewählt |
Diese Auswahl funktioniert nicht (siehe Schritt 1). Mit sc.exe config "AXP2Service" obj= ".\AXP-Service" password= "..." auf ein echtes Benutzerkonto umstellen. |
| Statusleiste zeigt "Verarbeitung durch den Windows-Dienst" |
Der Dienst läuft, aber die Option "Hintergrundprozessor wird extern verwaltet" ist nicht gesetzt (Schritt 4). Doppelt verarbeitet wird dabei nichts - das Programmfenster hält sich zurück, solange der Dienst verarbeitet. Setzen Sie das Häkchen trotzdem, sonst beginnt das Fenster selbst zu verarbeiten, sobald der Dienst einmal angehalten ist. |
| Nach einem Neustart zeigt die Statusleiste "Externer Prozessor - der Dienst startet in spätestens ... Sekunden" |
Normal beim Starttyp "Automatisch (Verzögerter Start)": Windows startet den Dienst erst kurz nach dem Hochfahren (siehe Schritt 5). |
Automatic X-Invoice Processor jetzt unverbindlich 30 Tage testen ...
Zum Download