2010-07-15 10 views
6

Sto cercando di creare un registro eventi per la mia applicazione di linea cmd. Tuttavia ottengo questo errore quando tenta di creare il registro per la prima volta.Registrazione eventi in C# su Windows 7/2008 Server

La fonte non è stata trovata, ma alcuni o non è stato possibile cercare tutti i registri eventi. Log inaccessibile: sicurezza.

Quindi ho trovato questo a causa di Windows 7 e qualche nuova sicurezza. Quindi adesso devo dare i diritti di amministratore .exe.

C'è un modo per aggirare questo, quindi non avrebbe bisogno di diritti di amministratore? Non so se le persone si sentirebbero troppo bene se dovessero eseguire continuamente la mia applicazione con diritti di amministratore.

Sto pensando di inserirlo più tardi su una macchina Windows 2008, quindi suppongo che risentirà dello stesso problema.

risposta

3

È possibile creare la sorgente di eventi nel punto di installazione in modo che sia necessario effettuare tale scelta solo una volta. Una volta creata la fonte nel registro, è possibile aggiungervi eventi senza la necessità di diritti di amministratore.

Così come la funzione di CreateEventSource c'è anche la classe EventLogInstaller:

http://msdn.microsoft.com/en-us/library/system.diagnostics.eventloginstaller.aspx

WiX offre anche questa funzionalità nel suo Extension Utility:

How do you create an event log source using WiX

+0

Come posso creare questa origine evento durante l'installazione? – chobo2

+0

Ho aggiornato il post con alcune informazioni in più – fletcher

+0

Quindi, cosa devo fare per contestare e dire forse come installare? Quindi lo installa e basta? – chobo2

1

servizi di rete o utente rappresentato deve avere accesso in lettura/scrittura a HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Security

+0

Ma allora avrei accesso ad ogni eventLog? – chobo2

+0

La tua domanda riguardava la creazione di un registro eventi per la tua applicazione. Su Windows 2008 questo è quello che ti serve. (Suppongo anche su win7, in questo caso avrei l'installazione dell'applicazione come amministratore che fornisce all'app i diritti corretti, quindi da lì in poi non sarà necessario eseguirlo come amministratore costantemente.) – Jeroen

Problemi correlati