Export (0) Print
Expand All

EventLogInstaller Class

Allows you to install and configure an event log that your application reads from or writes to when running.

Namespace:  System.Diagnostics
Assembly:  System.Configuration.Install (in System.Configuration.Install.dll)

public class EventLogInstaller : ComponentInstaller

The EventLogInstaller type exposes the following members.

  NameDescription
Public methodEventLogInstallerInitializes a new instance of the EventLogInstaller class.
Top

  NameDescription
Protected propertyCanRaiseEventsGets a value indicating whether the component can raise an event. (Inherited from Component.)
Public propertyCategoryCountGets or sets the number of categories in the category resource file.
Public propertyCategoryResourceFileGets or sets the path of the resource file that contains category strings for the source.
Public propertyContainerGets the IContainer that contains the Component. (Inherited from Component.)
Public propertyContextGets or sets information about the current installation. (Inherited from Installer.)
Protected propertyDesignModeGets a value that indicates whether the Component is currently in design mode. (Inherited from Component.)
Protected propertyEventsGets the list of event handlers that are attached to this Component. (Inherited from Component.)
Public propertyHelpTextGets the help text for all the installers in the installer collection. (Inherited from Installer.)
Public propertyInstallersGets the collection of installers that this installer contains. (Inherited from Installer.)
Public propertyLogGets or sets the name of the log to set the source to.
Public propertyMessageResourceFileGets or sets the path of the resource file that contains message formatting strings for the source.
Public propertyParameterResourceFileGets or sets the path of the resource file that contains message parameter strings for the source.
Public propertyParentGets or sets the installer containing the collection that this installer belongs to. (Inherited from Installer.)
Public propertySiteGets or sets the ISite of the Component. (Inherited from Component.)
Public propertySourceGets or sets the source name to register with the log.
Public propertyUninstallActionGets or sets a value that indicates whether the Installutil.exe (Installer Tool) should remove the event log or leave it in its installed state at uninstall time.
Top

  NameDescription
Public methodCommitWhen overridden in a derived class, completes the install transaction. (Inherited from Installer.)
Public methodCopyFromComponentCopies the property values of an EventLog component that are required at installation time for an event log. (Overrides ComponentInstaller.CopyFromComponent(IComponent).)
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public methodDispose()Releases all resources used by the Component. (Inherited from Component.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the Component and optionally releases the managed resources. (Inherited from Component.)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeReleases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection. (Inherited from Component.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected methodGetServiceReturns an object that represents a service provided by the Component or by its Container. (Inherited from Component.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodInstallPerforms the installation and writes event log information to the registry. (Overrides Installer.Install(IDictionary).)
Public methodIsEquivalentInstallerDetermines whether an installer and another specified installer refer to the same source. (Overrides ComponentInstaller.IsEquivalentInstaller(ComponentInstaller).)
Protected methodMemberwiseClone()Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodMemberwiseClone(Boolean)Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected methodOnAfterInstallRaises the AfterInstall event. (Inherited from Installer.)
Protected methodOnAfterRollbackRaises the AfterRollback event. (Inherited from Installer.)
Protected methodOnAfterUninstallRaises the AfterUninstall event. (Inherited from Installer.)
Protected methodOnBeforeInstallRaises the BeforeInstall event. (Inherited from Installer.)
Protected methodOnBeforeRollbackRaises the BeforeRollback event. (Inherited from Installer.)
Protected methodOnBeforeUninstallRaises the BeforeUninstall event. (Inherited from Installer.)
Protected methodOnCommittedRaises the Committed event. (Inherited from Installer.)
Protected methodOnCommittingRaises the Committing event. (Inherited from Installer.)
Public methodRollbackRestores the computer to the state it was in before the installation by rolling back the event log information that the installation procedure wrote to the registry. (Overrides Installer.Rollback(IDictionary).)
Public methodToStringReturns a String containing the name of the Component, if any. This method should not be overridden. (Inherited from Component.)
Public methodUninstallRemoves an installation by removing event log information from the registry. (Overrides Installer.Uninstall(IDictionary).)
Top

  NameDescription
Public eventAfterInstallOccurs after the Install methods of all the installers in the Installers property have run. (Inherited from Installer.)
Public eventAfterRollbackOccurs after the installations of all the installers in the Installers property are rolled back. (Inherited from Installer.)
Public eventAfterUninstallOccurs after all the installers in the Installers property perform their uninstallation operations. (Inherited from Installer.)
Public eventBeforeInstallOccurs before the Install method of each installer in the installer collection has run. (Inherited from Installer.)
Public eventBeforeRollbackOccurs before the installers in the Installers property are rolled back. (Inherited from Installer.)
Public eventBeforeUninstallOccurs before the installers in the Installers property perform their uninstall operations. (Inherited from Installer.)
Public eventCommittedOccurs after all the installers in the Installers property have committed their installations. (Inherited from Installer.)
Public eventCommittingOccurs before the installers in the Installers property committ their installations. (Inherited from Installer.)
Public eventDisposedOccurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)
Top

The EventLogInstaller is used by the Installutil.exe (Installer Tool) when installing an event log. The EventLogInstaller class can install event logs only on the local computer.

Use the EventLogInstaller class when your application writes to an event log; it is not necessary to use an event log installer for your application to read from an event log. Applications and services should write to the Application log or a custom log. Device drivers should write to the System log.

NoteNote

The Security log is read-only.

The installer creates the event source that you specify in the Source property and registers it for the event log specified in Log property. This behavior is similar to calling CreateEventSource on the EventLog component.

Use the WriteEvent and WriteEntry methods to write events to an event log. You must specify an event source to write events; you must create and configure the event source before writing the first entry with the source.

Create the new event source during the installation of your application. This allows time for the operating system to refresh its list of registered event sources and their configurations. If the operating system has not refreshed its list of event sources, and you attempt to write an event with the new source, the write operation will fail. You can configure a new source using an EventLogInstaller, or using the CreateEventSource method. You must have administrative rights on the computer to create a new event source.

You can create an event source for an existing event log or a new event log. When you create a new source for a new event log, the system registers the source for that log, but the log is not created until the first entry is written to it.

To install an event log, create a project installer class that inherits from Installer, and set the RunInstallerAttribute for the class to true. Within your project, create an EventLogInstaller for each event log that your application will write to and add the instance to your project installer class.

When the Installutil.exe (Installer Tool) is called, it looks at the RunInstallerAttribute. If it is true, the tool installs all the items in the Installers collection that are associated with your project installer. If RunInstallerAttribute is false, the tool ignores the project installer.

You modify other properties of an EventLogInstaller either before or after adding the instance to the Installers collection of your project installer, but before the installer tool runs. You must set the Source property if your application will be writing to the event log.

Use EventLogInstaller to register a new source for a new or existing event log; do not use EventLogInstaller to change an existing source. The EventLogInstaller class does not modify the configuration properties of an existing source to match the specified installation properties. The Install method throws an exception if the Source property matches a source name that is registered for a different event log on the computer. The Install method does not register the source if the Source property matches a source name that is already registered for the same event log specified in the Log property.

You can register the event source with localized resource files for your event category and message strings. Your application can write event log entries using resource identifiers, rather than specifying the actual string. The Event Viewer uses the resource identifier to find and display the corresponding string from the localized resource file based on current language settings. You can register a separate file for event categories, messages, and parameter insertion strings, or you can register the same resource file for all three types of strings. Use the CategoryCount, CategoryResourceFile, MessageResourceFile, and ParameterResourceFile properties to configure the source to write localized entries to the event log. If your application writes strings values directly to the event log, you do not need to set these properties.

The source must be configured either for writing localized entries or for writing direct strings. If your application writes entries using both resource identifiers and string values, you must register two separate sources. For example, configure one source with resource files, and then use that source in the WriteEvent method to write entries using resource identifiers to the event log. Create a different source without resource files and then use that source in the WriteEntry method to write strings directly to the event log using that source.

Typically, you do not call the methods of the EventLogInstaller class from within your code; they are generally called only by Installutil.exe. The tool automatically calls the Install method during the installation process. It backs out failures, if necessary, by calling the Rollback method for the object that generated the exception.

Windows 98, Windows Millennium Edition Platform Note: Event logs are not supported on Windows 98/Windows Millennium Edition (Me).

The following code example sets the installation properties for a new event source. The code example sets the source name and the event log name, and adds the EventLogInstaller to the Installers collection.

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()
    {
        MyEventLogInstaller myInstaller = new MyEventLogInstaller();
    }
}

.NET Framework

Supported in: 4.5.3, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft