Click here to Skip to main content
15,886,963 members
Home / Discussions / .NET (Core and Framework)
   

.NET (Core and Framework)

 
GeneralThreads and Appdomains Pin
F.D.I26-Nov-04 3:45
F.D.I26-Nov-04 3:45 
GeneralExtracting a digital certificate from a file. Pin
sillypuppy26-Nov-04 0:01
sillypuppy26-Nov-04 0:01 
General.net datagrid column editing Pin
sxsunda25-Nov-04 19:06
susssxsunda25-Nov-04 19:06 
GeneralRequested Registry Access is Not Allowed Pin
KreativeKai24-Nov-04 9:07
professionalKreativeKai24-Nov-04 9:07 
GeneralRe: Requested Registry Access is Not Allowed Pin
The Man from U.N.C.L.E.2-Dec-04 1:46
The Man from U.N.C.L.E.2-Dec-04 1:46 
GeneralRe: Requested Registry Access is Not Allowed Pin
KreativeKai2-Dec-04 2:40
professionalKreativeKai2-Dec-04 2:40 
GeneralRe: Requested Registry Access is Not Allowed Pin
The Man from U.N.C.L.E.2-Dec-04 3:13
The Man from U.N.C.L.E.2-Dec-04 3:13 
GeneralRe: Requested Registry Access is Not Allowed Pin
The Man from U.N.C.L.E.2-Dec-04 22:37
The Man from U.N.C.L.E.2-Dec-04 22:37 
My last post got me thinking and I did some retesting of our code.

It seems the EventLogPermission.Assert makes no difference. We got lucky because most times the source got created by a Service we are running under a the SYSTEM account. The rest of the time everything was falling into the "Application Error" catch. This gives a bit of a messy message but at least you get one. We hope to have very few errors, if any, to log, but that is living in hope.

In search of a better solution I did some tests and everything runs afoul of the Operating System ACL's with no way round it.

I have thought of two possible solutions that I will be trying.

1) Run a separate Windows Service just to log errors under the SYSTEM account.
2) Impersonate the SYSTEM account in code.

This second option I have managed to use with a hard coded username and password, which isn't much use for a wider deployment, but may be a step in the right direction.

Public Overloads Shared Sub WriteMessage(ByVal message As String, ByVal source As String, ByVal log As String)

    Dim password As String = "****"
    Dim username As String = "****"

    Dim tokenHandle As IntPtr = IntPtr.Zero
    Dim returnValue As Boolean = LogonUser(username, System.Environment.MachineName, password, 2, 0, tokenHandle)

    Dim impersonatedUser As WindowsImpersonationContext = WindowsIdentity.Impersonate(tokenHandle)

    Try
        CustomEventLog.InternalWriteMessage(message, source, log)
    Catch ex As PlatformNotSupportedException
    End Try

    impersonatedUser.Undo()

End Sub

Private Declare Auto Function LogonUser Lib "advapi32.dll" (ByVal lpszUsername As [String], _
    ByVal lpszDomain As [String], ByVal lpszPassword As [String], _
    ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, _
    ByRef phToken As IntPtr) As Boolean


If you have knowledge, let others light their candles at it.
Margaret Fuller (1810 - 1850)
GeneralRe: Requested Registry Access is Not Allowed Pin
The Man from U.N.C.L.E.2-Dec-04 23:47
The Man from U.N.C.L.E.2-Dec-04 23:47 
GeneralRe: Requested Registry Access is Not Allowed Pin
KreativeKai9-Dec-04 8:09
professionalKreativeKai9-Dec-04 8:09 
GeneralOleDbDataReader + Excel Pin
dvd0024-Nov-04 4:49
dvd0024-Nov-04 4:49 
QuestionGlobal CBT in .NET? Pin
Hadi Fakhreddine23-Nov-04 22:57
Hadi Fakhreddine23-Nov-04 22:57 
GeneralChanging URI's dynamically for web service clients Pin
burrifro7923-Nov-04 15:36
burrifro7923-Nov-04 15:36 
GeneralLotus NOtes Pin
rogerruiz23-Nov-04 10:01
rogerruiz23-Nov-04 10:01 
GeneralRe: Lotus NOtes Pin
Kevin McFarlane26-Nov-04 5:07
Kevin McFarlane26-Nov-04 5:07 
GeneralRe: Lotus NOtes Pin
rogerruiz26-Nov-04 7:39
rogerruiz26-Nov-04 7:39 
GeneralRe: Lotus NOtes Pin
Kevin McFarlane26-Nov-04 8:44
Kevin McFarlane26-Nov-04 8:44 
GeneralRe: Lotus NOtes Pin
rogerruiz26-Nov-04 8:47
rogerruiz26-Nov-04 8:47 
GeneralRe: Lotus NOtes Pin
Kevin McFarlane26-Nov-04 10:44
Kevin McFarlane26-Nov-04 10:44 
GeneralMicrosoft 2003 Toolkit Pin
sweep12322-Nov-04 5:59
sweep12322-Nov-04 5:59 
QuestionHow to manage two apps Pin
Jack_pt21-Nov-04 1:50
Jack_pt21-Nov-04 1:50 
AnswerRe: How to manage two apps Pin
DavidNohejl21-Nov-04 4:27
DavidNohejl21-Nov-04 4:27 
GeneralRe: How to manage two apps Pin
Jack_pt21-Nov-04 15:53
Jack_pt21-Nov-04 15:53 
GeneralRe: How to manage two apps Pin
Anonymous21-Nov-04 17:59
Anonymous21-Nov-04 17:59 
GeneralRe: How to manage two apps Pin
DavidNohejl22-Nov-04 1:35
DavidNohejl22-Nov-04 1:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.