Поделиться через


EventLogInstaller Класс

Определение

Позволяет устанавливать и настраивать журнал событий, используемый для считывания и записи данных при запуске приложения.

public ref class EventLogInstaller : System::Configuration::Install::ComponentInstaller
public class EventLogInstaller : System.Configuration.Install.ComponentInstaller
type EventLogInstaller = class
    inherit ComponentInstaller
Public Class EventLogInstaller
Inherits ComponentInstaller
Наследование

Примеры

В следующем примере кода задаются свойства установки для нового источника событий. В примере кода задаются имя источника и имя журнала событий и добавляется EventLogInstaller в коллекцию Installers .

#using <System.dll>
#using <System.Configuration.Install.dll>

using namespace System;
using namespace System::Configuration::Install;
using namespace System::Diagnostics;
using namespace System::ComponentModel;

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

public:
   MyEventLogInstaller()
   {
      // Create an instance of an EventLogInstaller.
      myEventLogInstaller = gcnew 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 );
   }
};
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();
    }
}
   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

 Public Shared Sub Main()
 End Sub
 Dim myInstaller As New EventLogInstaller()
End Class

Комментарии

EventLogInstaller используется Installutil.exe (установщик) при установке журнала событий. Класс EventLogInstaller может устанавливать журналы событий только на локальном компьютере.

Используйте класс , EventLogInstaller когда приложение записывает данные в журнал событий; нет необходимости использовать установщик журнала событий, чтобы приложение считывал данные из журнала событий. Приложения и службы должны записывать данные в журнал приложений или в пользовательский журнал. Драйверы устройств должны записывать данные в системный журнал.

Примечание

Журнал безопасности доступен только для чтения.

Установщик создает источник событий, указанный в свойстве Source , и регистрирует его для журнала событий, указанного в свойстве Log . Это поведение аналогично вызову CreateEventSourceEventLog компонента.

Используйте методы WriteEvent и WriteEntry для записи событий в журнал событий. Для записи событий необходимо указать источник событий; Необходимо создать и настроить источник событий перед записью первой записи с помощью источника.

Создайте новый источник событий во время установки приложения. Это позволит операционной системе обновить список зарегистрированных источников событий и их конфигурации. Если операционная система не обновила список источников событий и вы пытаетесь записать событие с новым источником, операция записи завершится ошибкой. Новый источник можно настроить с помощью EventLogInstallerили с помощью CreateEventSource метода . Чтобы создать новый источник событий, необходимо иметь права администратора на компьютере.

Вы можете создать источник событий для существующего или нового журнала событий. При создании нового источника для нового журнала событий система регистрирует источник для этого журнала, но журнал не создается, пока в него не будет записана первая запись.

Чтобы установить журнал событий, создайте класс установщика проекта, который наследуется от Installer, и задайте RunInstallerAttribute для класса значение true. В проекте создайте EventLogInstaller для каждого журнала событий, в который будет записывать приложение, и добавьте экземпляр в класс установщика проекта.

При вызове Installutil.exe (установщика) выполняется просмотр RunInstallerAttribute. Если это true, средство устанавливает все элементы в Installers коллекции, связанные с установщиком проекта. Если RunInstallerAttribute имеет значение false, средство игнорирует установщик проекта.

Вы изменяете другие свойства EventLogInstaller объекта до или после добавления экземпляра в Installers коллекцию установщика проекта, но перед запуском средства установщика. Необходимо задать свойство , Source если приложение будет записывать данные в журнал событий.

Используйте EventLogInstaller для регистрации нового источника для нового или существующего журнала событий; не используйте для EventLogInstaller изменения существующего источника. Класс EventLogInstaller не изменяет свойства конфигурации существующего источника в соответствии с указанными свойствами установки. Метод Install создает исключение, если Source свойство соответствует имени источника, зарегистрированному для другого журнала событий на компьютере. Метод Install не регистрирует источник, если Source свойство соответствует имени источника, которое уже зарегистрировано для того же журнала событий, указанного в свойстве Log .

Вы можете зарегистрировать источник событий с помощью локализованных файлов ресурсов для вашей категории событий и строк сообщения. Приложение может записывать записи журнала событий с помощью идентификаторов ресурсов, а не указывать фактическую строку. Средство просмотра событий использует идентификатор ресурса для поиска и отображения соответствующей строки из локализованного файла ресурсов на основе текущих языковых параметров. Вы можете зарегистрировать отдельный файл для категорий событий, сообщений и строк вставки параметров или зарегистрировать один и тот же файл ресурсов для всех трех типов строк. CategoryCountИспользуйте свойства , CategoryResourceFile, MessageResourceFileи ParameterResourceFile , чтобы настроить источник для записи локализованных записей в журнал событий. Если приложение записывает строковые значения непосредственно в журнал событий, задавать эти свойства не нужно.

Источник должен быть настроен либо для записи локализованных записей, либо для записи прямых строк. Если приложение записывает записи с использованием идентификаторов ресурсов и строковых значений, необходимо зарегистрировать два отдельных источника. Например, настройте один источник с файлами ресурсов, а затем используйте этот источник в методе WriteEvent для записи записей с помощью идентификаторов ресурсов в журнал событий. Создайте другой источник без файлов ресурсов, а затем используйте этот источник в методе WriteEntry для записи строк непосредственно в журнал событий с помощью этого источника.

Как правило, методы EventLogInstaller класса не вызываются из кода; обычно они вызываются только Installutil.exe. Средство автоматически вызывает метод во Install время установки. При необходимости он возвращает сбои путем вызова Rollback метода для объекта, создающего исключение.

Конструкторы

EventLogInstaller()

Инициализирует новый экземпляр класса EventLogInstaller.

Свойства

CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.

(Унаследовано от Component)
CategoryCount

Получает или задает число категорий в файле ресурсов категорий.

CategoryResourceFile

Получает или задает путь к файлу ресурсов, содержащему строки категорий источника.

Container

Возвращает объект IContainer, который содержит коллекцию Component.

(Унаследовано от Component)
Context

Получает или задает сведения о текущей установке.

(Унаследовано от Installer)
DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.

(Унаследовано от Component)
Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.

(Унаследовано от Component)
HelpText

Получает текст справки для всех установщиков из коллекции установщиков.

(Унаследовано от Installer)
Installers

Получает коллекцию установщиков, содержащуюся в данном установщике.

(Унаследовано от Installer)
Log

Получает или задает имя журнала, для которого задается источник.

MessageResourceFile

Получает или задает путь к файлу ресурсов, содержащий сообщение о форматировании строк источника.

ParameterResourceFile

Получает или задает путь к файлу ресурсов, содержащему строки параметров сообщения источника.

Parent

Получает или задает установщик, содержащий коллекцию, к которой принадлежит данный установщик.

(Унаследовано от Installer)
Site

Получает или задает ISite объекта Component.

(Унаследовано от Component)
Source

Получает или задает имя источника, регистрируемого в журнале.

UninstallAction

Получает или задает значение, указывающее, должно ли средство Installutil.exe (установщик) удалить журнал событий или оставить его в текущем состоянии во время удаления.

Методы

Commit(IDictionary)

Завершает транзакцию установки, если переопределен в наследующем классе.

(Унаследовано от Installer)
CopyFromComponent(IComponent)

Копирует значения свойств компонента EventLog, которые требуются во время установки журнала событий.

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Dispose()

Освобождает все ресурсы, занятые модулем Component.

(Унаследовано от Component)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.

(Унаследовано от Component)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetService(Type)

Возвращает объект, представляющий службу, предоставляемую классом Component или классом Container.

(Унаследовано от Component)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
Install(IDictionary)

Выполняет установку и записывает в реестр сведения о журнале событий.

IsEquivalentInstaller(ComponentInstaller)

Определяет, ссылается ли установщик на тот же источник, что и другой указанный установщик.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
OnAfterInstall(IDictionary)

Вызывает событие AfterInstall.

(Унаследовано от Installer)
OnAfterRollback(IDictionary)

Вызывает событие AfterRollback.

(Унаследовано от Installer)
OnAfterUninstall(IDictionary)

Вызывает событие AfterUninstall.

(Унаследовано от Installer)
OnBeforeInstall(IDictionary)

Вызывает событие BeforeInstall.

(Унаследовано от Installer)
OnBeforeRollback(IDictionary)

Вызывает событие BeforeRollback.

(Унаследовано от Installer)
OnBeforeUninstall(IDictionary)

Вызывает событие BeforeUninstall.

(Унаследовано от Installer)
OnCommitted(IDictionary)

Вызывает событие Committed.

(Унаследовано от Installer)
OnCommitting(IDictionary)

Вызывает событие Committing.

(Унаследовано от Installer)
Rollback(IDictionary)

Восстанавливает исходное состояние компьютера (до установки) путем отмены данных журнала событий, внесенных в реестр в процессе установки.

ToString()

Возвращает объект String, содержащий имя Component, если оно есть. Этот метод не следует переопределять.

(Унаследовано от Component)
Uninstall(IDictionary)

Удаляет из реестра сведения о журнале событий.

События

AfterInstall

Происходит после выполнения методов Install(IDictionary) всех установщиков из свойства Installers.

(Унаследовано от Installer)
AfterRollback

Происходит после отката установок всех установщиков из свойства Installers.

(Унаследовано от Installer)
AfterUninstall

Происходит после выполнения операций удаления всеми установщиками из свойства Installers.

(Унаследовано от Installer)
BeforeInstall

Происходит до того, как был запущен метод Install(IDictionary) каждого установщика из коллекции установщиков.

(Унаследовано от Installer)
BeforeRollback

Происходит до отката установщиков из свойства Installers.

(Унаследовано от Installer)
BeforeUninstall

Происходит до выполнения операций удаления установщиками из свойства Installers.

(Унаследовано от Installer)
Committed

Происходит после фиксации установки всеми установщиками из свойства Installers.

(Унаследовано от Installer)
Committing

Происходит до фиксации установок установщиками из свойства Installers.

(Унаследовано от Installer)
Disposed

Возникает при удалении компонента путем вызова метода Dispose().

(Унаследовано от Component)

Применяется к

См. также раздел