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.
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.
Das Kennwort wandert dabei nicht über die Befehlszeile, wo andere Programme es mitlesen könnten, sondern über einen kurzlebigen Eintrag im Windows-Tresor, der sofort wieder gelöscht wird.
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 würde das Fenster bei jedem Start einen eigenen Prozessor starten und dem Dienst ins Gehege kommen.
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 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” haben.
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 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.
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.
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. Fehlt nur der Autostart (Starttyp “Manuell”), setzt ihn Dienst starten gleich mit - 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 |
Konto oder Kennwort stimmen nicht. Wiederholen Sie Dienst einrichten… mit demselben Dienstnamen - der vorhandene Dienst wird dabei aktualisiert. 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. |
| 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. |
| “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. |
| Verarbeitung läuft doppelt |
Wahrscheinlich ist die Option “Hintergrundprozessor wird extern verwaltet” nicht gesetzt (Schritt 4), sodass das Hauptfenster zusätzlich verarbeitet. Häkchen setzen und Fenster neu starten. |
Automatic X-Invoice Processor jetzt unverbindlich 30 Tage testen ...
Zum Download