2010-07-15 13 views
6

Estoy intentando hacer un registrador de eventos para mi aplicación de línea de cmd. Sin embargo, recibo este error cuando intenta crear el registro por primera vez.Registro de eventos en C# en Windows 7/2008 Servidor

No se encontró la fuente, pero algunos o no se pudieron buscar todos los registros de eventos. Registros inaccesibles: Seguridad.

Así que encontré esto es debido a Windows 7 y una nueva seguridad. Así que ahora tengo que dar los derechos de administrador de .exe.

¿Hay alguna forma de evitar esto, por lo que no necesitaría derechos de administrador? No sé si las personas se sentirían demasiado bien si tuvieran que ejecutar mi aplicación con derechos de administrador.

Planeo poner esto más adelante en una máquina de Windows 2008, así que supongo que sufrirá el mismo problema.

Respuesta

3

Puede crear el origen del evento en el punto de instalación para que solo tengan que hacer esa elección una vez. Una vez que se crea la fuente en el registro, puede agregar eventos sin la necesidad de derechos de administrador.

Además de la función CreateEventSource también existe la clase EventLogInstaller:

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

WiX también ofrece esta funcionalidad en él es extensión de Utilidad:

How do you create an event log source using WiX

+0

¿Cómo podría crear este origen de evento durante la instalación? – chobo2

+0

Actualicé la publicación con algo más de información – fletcher

+0

Entonces, ¿qué es lo que acabo de poner en discusión y decir que tal vez me gustaría instalar? Entonces simplemente lo instala y eso es todo? – chobo2

1

servicio de red o usuario suplantado debe tener acceso de lectura/escritura a HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Security

+0

¿Pero entonces tendría acceso a cada eventoLog? – chobo2

+0

Su pregunta fue sobre la creación de un registro de eventos para su aplicación. En Windows 2008 esto es lo que necesita. (Supongo que también en win7, en ese caso la instalación de la aplicación se ejecutará como administrador y le otorgará a la aplicación los derechos correctos, por lo que a partir de ese momento no tendrá que ejecutarla constantemente como administrador). – Jeroen

Cuestiones relacionadas