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;
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 если приложение будет записываться в журнал событий.
Используйте для регистрации нового источника для нового или существующего журнала событий; не используйте EventLogInstallerEventLogInstaller для изменения существующего источника. Класс EventLogInstaller не изменяет свойства конфигурации существующего источника в соответствии с указанными свойствами установки. Метод Install вызывает исключение, если Source свойство соответствует исходному имени, зарегистрированному для другого журнала событий на компьютере. Метод Install не регистрирует источник, если Source свойство соответствует исходному имени, которое уже зарегистрировано для того же журнала событий, указанного в свойстве Log .
Вы можете зарегистрировать источник событий с локализованными файлами ресурсов для категории событий и строк сообщений. Приложение может записывать записи журнала событий с помощью идентификаторов ресурсов, а не указывать фактическую строку. Средство просмотра событий использует идентификатор ресурса для поиска и отображения соответствующей строки из локализованного файла ресурсов на основе текущих параметров языка. Вы можете зарегистрировать отдельный файл для категорий событий, сообщений и строк вставки параметров или зарегистрировать один и тот же файл ресурсов для всех трех типов строк. CategoryCountИспользуйте свойства и MessageResourceFileCategoryResourceFileParameterResourceFile свойства, чтобы настроить источник для записи локализованных записей в журнал событий. Если приложение записывает значения строк непосредственно в журнал событий, вам не нужно задавать эти свойства.
Источник должен быть настроен для записи локализованных записей или для записи прямых строк. Если приложение записывает записи с помощью идентификаторов ресурсов и строковых значений, необходимо зарегистрировать два отдельных источника. Например, настройте один источник с файлами ресурсов, а затем используйте этот источник в методе 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) |