Re: Service, Requested registry access is not allowed



If your event log source is not registered, or if it is registered against a
log with a name greater than "Security" (in alphabetical order), versions
1.x of the .NET Framework will throw an exception when they attempt to
determine if the source is registered under the Security log when running
under an account that does not have permissions to the corresponding
registry key. If your source should be registered under the Application
log, the throwing of this exception would be a pretty clear indicator that
your source is not registered.


"theking2" <theking2@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:578A9968-1561-491B-8EBF-D132165A2F2B@xxxxxxxxxxxxxxxx
I agree, Joe, it is not a great idea to elevate rights to circumvent access
rights issues. Therefor I had included an installer to setup the requered
eventlog assuming that the user installing the service has appropriate
rights. The service and eventlogs are installed still the service when ran
under "NetworkServices" throws the exception at the first WriteEntry which
also happens to be in the OnStart event.

The Key that defies opening is
"HKLM\SYSTEM\CurentControlSet\Services\EventLog\Security". Which is
performed
directly after accessing
"HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\Auto Recharge
Service".

I'm not sure what the eventLog instance does with the Security or
Application key as AutLog for the service is switch off (false). All code
related to setting up the eventlog instance is VS generated. Either this
generation is wrong (as in "contains a bug") the .NET Framework performs
some
incompatible updates or there is a setting I've overlooked.



--
It is not a good omen when gold-fish commit suicide.


"Joe Kaplan (MVP - ADSI)" wrote:

Actually, this isn't true. I have several .NET-based Windows services
that
write to a custom event log and work fun running under Network Service.
Running with escalated privileges under the local System account is a bad
idea and something you should avoid if possible.

I'd suggest figuring out if this is an NT ACLs issue or something weird
in
..NET that is causing the problem. Regmon and Filemon from Sysinternals
can
quickly determine the former for you. Just look for an access denied
message when your service tries to write to the event source.

Joe K.

--
Joe Kaplan-MS MVP Directory Services Programming
Co-author of "The .NET Developer's Guide to Directory Services
Programming"
http://www.directoryprogramming.net
--
"theking2" <theking2@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:089E07B1-D88A-43FB-9340-E10A02B21EA4@xxxxxxxxxxxxxxxx
Well basically I lied. I did not have the service logon as LocalSystem.
With
LocalSystem everything seems to work just fine. :-) So just a helpful
hint
to
all service developers out there. If you plan to write to the
(customized)
eventlog make sure the service is designed to run under LocalSystem
account.
In that case you don't even need the installer.

"theking2" wrote:

Yes I know there are a zillion threads about the security exception
"Requested registry access is not allowed" but I feel I went by the
book
and
it still does not work.

I've written a Windows service using the Service Template in VSC#. The
Service needs to write to a customized eventlog. I also included a
Setup&deployment project and added an installer to the service project
installing the Eventlog. After the installer runs succesfully the
Eventlog
entry is available in the Registry. The services however cannot write
entries
to this eventlog, throwing the exception mentioned.
So the installer is run under Admin priv's and therefor can create the
eventlog. The service run under LocalSystem, LocalService, or
NetworkService
account cannot add to this eventlog. What is wrong here?





.



Relevant Pages

  • Re: Development of event log message file
    ... registry info is because the Application entry in the registry for the ... EventLog Service does not have a key for an EventMessageFile. ... The original reason for the post was to ask if there was a better way for ... To read the event log on a remote computer, which is what it sounds like you ...
    (microsoft.public.vsnet.general)
  • RE: Setting category / event ID when tracing in VS2008
    ... To learn how to specify category for the event log entry, ... Now we can create an installer (you can choose to add the installer to your ... Public Class MyEventLogInstaller ... Now we can use the EventLog class in .NET Framework to write an event log ...
    (microsoft.public.dotnet.languages.vb)
  • RE: .NET 1.1 created event log has only "Not available" properties
    ... are several missing registry values for the .NET created event logs. ... I understanding you're using the EventLog class to ... write entries into custom eventlog in .net 1.1 application. ... // Write an informational entry to the event log. ...
    (microsoft.public.dotnet.framework)
  • Re: Windows Services
    ... Which of the following event log messages are you seeing? ... vbCrLf & ex.ToString) ... You do know that you can have the Windows Installer create the Event Source ... Drag an EventLog object from the toolbox onto the design surface of your ...
    (microsoft.public.dotnet.languages.vb)
  • Re: office update is unable to check for updates
    ... Windows Installer version 1.0 to Windows Installer version 1.1. ... Here is another post I saw on the forums that seems to have work for other users, but it requires advanced knowledge of the OS, basically registry editing, so please be careful if you try it. ... we need to manually delete all the registry keys for Office. ...
    (microsoft.public.officeupdate)