Exportar (0) Imprimir
Expandir todo

EventLogInstaller (Clase)

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)

public class EventLogInstaller : ComponentInstaller
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.

NotaNota

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: 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.

using System;
using System.Configuration.Install;
using System.Diagnostics;
using System.ComponentModel;

[RunInstaller(true)]
public class MyEventLogInstaller: Installer
{
    private EventLogInstaller myEventLogInstaller;

    public MyEventLogInstaller() 
    {
        // 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);   
    }

    public static void Main()
    {
    }
}

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

Los miembros estáticos públicos (Shared en Visual Basic) 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 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft