Registriert seit: 18. Aug 2009
11 Beiträge
|
Windows-Dienst, Notification, Zugriff verweigert
13. Aug 2023, 21:11
Hallo,
auf einem Windows 10-Rechner verwalte ich ein komplexes und umfangreiches Delphi-Projekt mit Datenbank-Anbindung und einem funktionierenden Update-Mechanismus. Zusätzlich hätte ich gerne einen Windows-Dienst, der bei Anwendern gelegentlich prüft, ob Programm-Updates vorhanden sind, und dies ggf. meldet. Dies ist in erster Linie gedacht für Sys-Admin's, die Software auf Client-Rechnern verwalten, und für sporadische User, die gerne einmal ein Update verpassen.
Inzwischen habe ich den Dienst (TService-Anwendung) und einen Dienst-Monitor (Standard-Anwendung) erstellt. Mit dem Dienst-Monitor kann man Dienst-Details einstellen und die Standard-Aktionen (Dienst installieren, starten usw.) vornehmen. Alles funktioniert wie gewünscht, nur kann der Dienst derzeitig keine Meldung an den User schicken.
Dies hatte ich natürlich als erstes geprüft, und das war via TNotificationCenter, TNotification und PresentNotification sehr einfach. In einer normalen Anwendung funktioniert das auch ohne Probleme, nur beim Dienst erfolgt immer die Meldung "Zugriff verweigert".
Inzwischen habe ich zusätzlich eine kleine Anwendung erstellt, die unsichtbar das Melden übernimmt und die Aktionen protokolliert. Dieses Notify-Programm ruft man auf und übergibt dabei die Meldungsdaten als Parameter. Es ergibt sich dabei dasselbe Verhalten. Beim Aufruf aus einer "normalen" Anwendung funktioniert die Sache, beim Aufruf aus dem Dienst heraus wird bei "NotificationCenter.PresentNotification" wieder der "Zugriff verweigert".
Ich habe mir inzwischen schon den Wolf gegoogelt nach möglicherweise fehlenden Rechten sowie Besonderheiten bei Notification und Windows-Diensten, habe aber nichts gefunden. Ich hoffe, dass mir jemand helfen kann.
|