Windows Dienst (mit NotifyIcon / LOG4NET)

JaLeo

Mitglied
Hallo Leute,

also, ich muss einen Windows Dienst mit NotifyIcon (TrayIcon) und Logging programmieren. Als logging Klasse verwende ich die LOG4NET von APACHE-GROUP.
Jetzt hab ich aber folgende Probleme.

1. Wenn ich den Dienst Starte kommt kein TrayIcon und er loggt nicht mit.

So, das komische aber bei der ganzen geschichte ist, dass wenn ich eine WindowsApplication mache und dort das selbe reinschreibe wie im dienst macht er alles einwandfrei.

An was kann das liegen?

Vielen Dank schonmal im Voraus
Mfg
JaLeo
 
Hallo JaLeo,

ich denke das es an der Berechtigung liegt. Ich habe auch erst lange
rumprobieren und googlen müssen bevor mein Dienst das tat was er sollte.

Du hast den Dienst sicher als LocalUser oder LocalSystem installiert und somit
hat dieser nur minimale Rechte. Man kann versuchen den Dienst mit einem User
und Kennwort zu installieren (InstallUtil) aber bei mir funktionierte dies nicht.
Ich habe die Berechtigung dann in den Eigenschaften des Dienstes selbst
unter Ausführen -> Services.msc geändert und er tat es.

Aber:
Du solltest dir darüber bewusst sein das ein Dienst absolut nix mit einer GUI zu tun
hat und auch keine Verwenden sollte/darf !
Ein Dienst wird ja schon vor dem Anmelden eines Users gestartet und da existiert
noch kein Desktop oder Tray !

Du solltest zusätzlich zum Dienst eine WinAppl erstellen welche dann nach Anmelden
eines Users das TrayIcon darstellt. Im Dienst selbst ist das sinnlos und IMHO unüblich.

Üblich wäre es z.B. wenn dann ein Kontrollprogramm also die WinAppl per .NET Remoting mit dem Dienst kommunizieren lässt und alle Grafischen Darstellungen wie das
TrayIcon etc. steuert.

Gruß
Jens
 

Neue Beiträge

Zurück