Exportar (0) Imprimir
Expandir todo

EventLogInstaller (Clase)

Actualización: noviembre 2007

Permite instalar y configurar un registro de eventos en el que la aplicación lee o escribe cuando se ejecuta.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System.Configuration.Install (en System.Configuration.Install.dll)

'Declaración
Public Class EventLogInstaller _
	Inherits ComponentInstaller
'Uso
Dim instance As EventLogInstaller
public class EventLogInstaller extends ComponentInstaller
public class EventLogInstaller extends ComponentInstaller

Herramienta Installer (Installutil.exe) utiliza la clase EventLogInstaller cuando se instala un registro de eventos. La clase EventLogInstaller sólo puede instalar registros de eventos en el equipo local.

Utilice la clase EventLogInstaller cuando la aplicación escriba en un registro de eventos; no es necesario utilizar un instalador de registro de eventos para que la aplicación lea un registro de eventos. Las aplicaciones y los servicios deben escribir en el registro de la aplicación o en un registro personalizado. Los controladores de dispositivos deben escribir en el Registro del sistema.

k1wask0c.alert_note(es-es,VS.90).gifNota:

El registro de seguridad es de sólo lectura.

El instalador crea el origen de eventos especificado en la propiedad Source y lo registra para el registro de eventos especificado en la propiedad Log. Este comportamiento es muy parecido a llamar a CreateEventSource en el componente EventLog.

Utilice los métodos WriteEvent y WriteEntry para escribir eventos en un registro de eventos. Para escribir eventos, es necesario especificar un origen de eventos; asimismo, antes de escribir la primera entrada con el origen, es necesario crearlo y configurarlo.

El nuevo origen de eventos deberá crearse durante la instalación de la aplicación. De esta manera, el sistema operativo dispondrá de tiempo para actualizar la lista de orígenes de eventos registrados y sus configuraciones. Si el sistema operativo aún no ha actualizado la lista de orígenes de eventos y se intenta escribir un evento con el nuevo origen, se producirá un error en la operación de escritura. Para configurar un nuevo origen, puede utilizarse EventLogInstaller o el método CreateEventSource. Es necesario contar con derechos administrativos en el equipo para crear un nuevo origen de eventos.

Puede crearse un origen de eventos para un registro de eventos ya existente o para uno nuevo. Cuando se crea un origen para un registro de eventos nuevo, el sistema registra el origen de ese registro, pero éste no se crea hasta que no se escriba la primera entrada en él.

Para instalar un registro de eventos, cree una clase de instalador del proyecto que se herede de Installer y establezca RunInstallerAttribute de la clase en true. En el proyecto, cree un objeto EventLogInstaller para cada registro de eventos en el que vaya a escribir la aplicación y agregue la instancia a la clase de instalador del proyecto.

Cuando se llama a Herramienta Installer (Installutil.exe), examina RunInstallerAttribute. Si es true, la herramienta instala todos los elementos de la colección de Installers asociados al instalador del proyecto. Si RunInstallerAttribute es false, la herramienta omite el instalador del proyecto.

El resto de las propiedades de EventLogInstaller se modifica antes o después de agregar la instancia a la colección de Installers del instalador del proyecto, pero antes de ejecutar la herramienta de instalación. Se debe establecer la propiedad Source si la aplicación va a escribir entradas en el registro de eventos.

Utilice EventLogInstaller para registrar un origen nuevo para un registro de eventos nuevo o existente; no utilice EventLogInstaller para cambiar un origen ya existente. La clase EventLogInstaller no modifica las propiedades de configuración de un origen existente para que coincidan con las propiedades de instalación especificadas. El método Install produce una excepción si la propiedad Source coincide con un nombre de origen que ya está registrado para otro registro de eventos del equipo. El método Install no registra el origen si la propiedad Source coincide con un nombre de origen ya registrado para el mismo registro de eventos especificado en la propiedad Log.

El origen de eventos puede registrarse con archivos de recursos adaptados para la categoría de eventos y las cadenas de mensaje. Una aplicación puede escribir entradas del registro de eventos mediante identificadores de recursos en lugar de especificar la cadena real. El visor de eventos utiliza el identificador del recurso para buscar y mostrar la correspondiente cadena del archivo de recursos adaptado en función de la configuración de idioma actual. Puede registrarse un archivo independiente para las cadenas de categoría de eventos, mensajes e inserción de parámetros, o bien un mismo archivo de recursos para los tres tipos de cadenas. Las propiedades CategoryCount, CategoryResourceFile, MessageResourceFile y ParameterResourceFile se emplean para configurar un origen para la escritura de entradas adaptadas en el registro de eventos. Cuando una aplicación escribe valores de cadena directamente en el registro de eventos, no es necesario establecer estas propiedades.

El origen debe configurarse para escribir entradas adaptadas o cadenas directas. Cuando una aplicación escriba entradas usando tanto identificadores de recursos como valores de cadena, deberán registrarse dos orígenes diferentes. Por ejemplo, puede configurarse un origen con archivos de recursos y usarlo en el método WriteEvent para escribir entradas en el registro de eventos mediante identificadores de recursos. Cree un origen diferente sin archivos de recursos y, a continuación, utilícelo en el método WriteEntry para escribir cadenas directamente en el registro de eventos utilizando ese origen.

Normalmente, no se llama a los métodos de la clase EventLogInstaller desde dentro del código; lo habitual es que sólo los llame Installutil.exe. La herramienta llama automáticamente al método Install durante el proceso de instalación. Deshace los errores, si es necesario, mediante una llamada al método Rollback para el objeto que generó la excepción.

Nota de la plataforma Windows 98, Windows Millennium Edition:

Los registros de eventos no son compatibles con Windows 98 ni Windows Millennium (Me).

En el ejemplo de código siguiente se establecen las propiedades de instalación para un nuevo origen de eventos. El ejemplo de código establece el nombre de origen y el nombre del registro de eventos y agrega EventLogInstaller a la colección de Installers.

Imports System
Imports System.Configuration.Install
Imports System.Diagnostics
Imports System.ComponentModel

<RunInstaller(True)>  _
Public Class MyEventLogInstaller
   Inherits Installer
   Private myEventLogInstaller As EventLogInstaller

   Public Sub New()

      ' Create an instance of an EventLogInstaller.
      myEventLogInstaller = New EventLogInstaller()

      ' Set the source name of the event log.
      myEventLogInstaller.Source = "NewLogSource"

      ' Set the event log that the source writes entries to.
      myEventLogInstaller.Log = "MyNewLog"

      ' Add myEventLogInstaller to the Installer collection.
      Installers.Add(myEventLogInstaller)
   End Sub 'New

   Public Shared Sub Main()
   End Sub 'Main
End Class 'MyEventLogInstaller


import System.*;
import System.Configuration.Install.*;
import System.Diagnostics.*;
import System.ComponentModel.*;

/** @attribute RunInstaller(true)
 */
public class MyEventLogInstaller extends Installer
{
    private EventLogInstaller myEventLogInstaller;

    public MyEventLogInstaller()
    {
        // Create an instance of an EventLogInstaller.
        myEventLogInstaller = new EventLogInstaller();

        // Set the source name of the event log.
        myEventLogInstaller.set_Source("NewLogSource");

        // Set the event log that the source writes entries to.
        myEventLogInstaller.set_Log("MyNewLog");

        // Add myEventLogInstaller to the Installer collection.
        this.get_Installers().Add(myEventLogInstaller);
    } //MyEventLogInstaller

    public static void main(String[] args)
    {
    } //main
} //MyEventLogInstaller


Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft