2009-08-04 5 views
0

Ich habe einen Fensterservice geschrieben. und ich kann den Dienst erfolgreich installieren/ausführen. Jetzt habe ich dem Dienst einen Timer hinzugefügt und möchte das Intervall über die Registrierung anpassen können. Aber ich kann nicht herausfinden, warum GetSetting("MyAppName", "MySection", "IntervalSetting") NICHT den Wert in der Registrierung zurückgibt!Kann GetSetting() in einem Windows-Dienst aufgerufen werden?

Fehle ich etwas? Funktioniert GetSetting() nicht, wenn es von einem Windows-Dienst aufgerufen wird?

+0

Der Dienst läuft unter dem Administratorkonto, und ich bin als ich angemeldet (d. H. NICHT der Administrator) – swolff1978

Antwort

2

Von MSDN:

„GetSetting erfordert, dass ein Benutzer angemeldet werden, da sie unter dem HKEY_LOCAL_USER Registrierungsschlüssel arbeiten, die bis ein Benutzer interaktiv nicht aktiv anmeldet.“

Unter welchem ​​Konto läuft Ihr Dienst? Wenn es LocalSystem ist, haben Sie effektiv keinen Benutzer angemeldet. Selbst wenn Sie imitieren, IIRC, das lädt die Registrierungsstruktur nicht.

0

Hat der Benutzer, unter dem der Dienst ausgeführt wird, Zugriff auf die Registrierung?

Verwandte Themen