Buongiorno.
Vorrei che una mia applicazione VB.Net registrasse un evento in un suo registro eventi, evitando di interferire con i registri di sistema.
Riesco a creare il registro "personale" con il seguente codice:
Private Sub btnCreateSource_Click(sender As Object, e As EventArgs) Handles btnCreateSource.Click
Dim sSource As String = txtSource.Text
Dim sLog As String = txtLog.Text
If Not EventLog.SourceExists(sSource) Then
EventLog.CreateEventSource(sSource, sLog)
MessageBox.Show("Source creata.")
Else
sLog = EventLog.LogNameFromSourceName(sSource, ".")
MessageBox.Show("Source già esistente con log " & sLog)
End If
Application.Exit()
End Sub
come mostra il visualizzatore eventi (si chiama "AfsEventLog" ed è indicato dalla freccia verde)

ma gli eventi, generati con il seguente codice
Private Sub btnWriteEvent_Click(sender As Object, e As EventArgs) Handles btnWriteEvent.Click
Dim sSource As String = txtSource.Text
Dim sLog As String = txtLog.Text
Dim oLog As New EventLog(sLog, ".", sSource)
oLog.Source = sSource
'oLog.WriteEntry(sSource, "Evento", EventLogEntryType.Information, 1001)
'EventLog.WriteEntry(sSource, "Evento", EventLogEntryType.Information, 1001)
oLog.WriteEntry("Evento", EventLogEntryType.Information, 1001)
MessageBox.Show("Evento registrato.")
End Sub
vengono invece registrati nel registro "Applicazione" sotto a "Registri di Windows", indicato dalla freccia rossa.
Eseguo con privilegi da amministratore, chiudo l'applicazione dopo la creazione della source, gli eventi vengono regolarmente generati ma registrati in "Registri di Windows\Applicazione" anziché in "Registri applicazioni e servizi\AfsEventLog" come vorrei.
Qualcuno sa darmi una dritta? Grazie.