다음을 통해 공유


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
상속

예제

다음 코드 예제는 새 이벤트 원본에 대 한 설치 속성을 설정합니다. 원본 이름 및 이벤트 로그 이름을 설정 하 고 추가 하는 코드 예제는 EventLogInstallerInstallers 컬렉션입니다.

#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 구성 요소입니다.

사용 된 WriteEventWriteEntry 이벤트 로그에 이벤트를 기록 하는 방법입니다. 이벤트를 작성 하는 이벤트 원본을 지정 해야 합니다. 만들기 및 소스를 사용 하 여 첫 번째 항목을 작성 하기 전에 이벤트 소스를 구성 해야 합니다.

애플리케이션을 설치 하는 동안 새 이벤트 원본을 만듭니다. 이렇게 하면 등록 된 이벤트 소스 목록을 새로 고치고 해당 구성에 운영 체제 있습니다. 운영 체제에서 이벤트 소스 목록을 새로 고치지 않은 경우 쓰려고 하면 새 원본 사용 하는 이벤트는 쓰기 작업이 실패 합니다. 사용 하 여 새 소스를 구성할 수 있습니다는 EventLogInstaller를 사용 하 여 또는 CreateEventSource 메서드. 새 이벤트 원본을 만들려면 컴퓨터에서 관리자 권한이 있어야 합니다.

기존 이벤트 로그 또는 새 이벤트 로그의 이벤트 소스를 만들 수 있습니다. 새 이벤트 로그에 대 한 새 소스를 만들면 해당 로그에 대 한 소스를 등록 하는 시스템 있지만 첫 번째 항목에 기록할 때 까지는 로그가 만들어지지 않습니다.

이벤트 로그를 설치 하려면에서 상속 되는 프로젝트 설치 관리자 클래스를 만듭니다 Installer를 설정 합니다 RunInstallerAttribute 클래스에 대 한 true합니다. 프로젝트 내에서 만들는 EventLogInstaller 애플리케이션을 작성 하 고 프로젝트 설치 관리자 클래스에 인스턴스를 추가 각 이벤트 로그에 대 한 합니다.

경우는 Installutil.exe (설치 관리자 도구) 는 호출을 확인 합니다 RunInstallerAttribute합니다. 있으면 true, 도구 설치에 있는 모든 항목을 Installers 프로젝트 설치 관리자를 사용 하 여 연결 된 컬렉션입니다. 하는 경우 RunInstallerAttributefalse, 프로젝트 설치 관리자 무시 됩니다.

다른 속성을 수정 하는 EventLogInstaller 앞 이나 뒤에 인스턴스를 추가 하거나는 Installers 프로젝트 설치 관리자에서 하지만 설치 관리자 도구를 실행 하기 전에 컬렉션. 설정 해야 합니다는 Source 애플리케이션 이벤트 로그에 작성 하는 경우에 속성입니다.

사용 하 여 EventLogInstaller 는 기존 또는 새 이벤트 로그에 대 한 새 원본을 등록 하려면 사용 하지 않는 EventLogInstaller 기존 원본을 변경 하려면. EventLogInstaller 클래스의 지정 된 설치 속성을 일치 하도록 기존 원본 구성 속성을 수정 하지 않습니다. Install 예외를 throw 하는 경우는 Source 속성은 컴퓨터의 다른 이벤트 로그에 등록 된 소스 이름과 일치 합니다. 합니다 Install 경우 메서드는 소스를 등록 하지 않습니다는 Source 속성에 지정 된 동일한 이벤트 로그에 이미 등록 되어 있는 원본 이름과 일치 하는 Log 속성입니다.

이벤트 범주 및 메시지 문자열에 대 한 지역화 된 리소스 파일을 사용 하 여 이벤트 소스를 등록할 수 있습니다. 애플리케이션 실제 문자열을 지정 하는 대신 리소스 식별자를 사용 하 여 이벤트 로그 엔트리를 쓸 수 있습니다. 이벤트 뷰어를 찾아 현재 언어 설정에 따라 지역화 된 리소스 파일에서 해당 문자열을 표시할 리소스 식별자를 사용 합니다. 이벤트 범주, 메시지 및 매개 변수 삽입 문자열에 대 한 별도 파일을 등록할 수 있습니다 또는 세 가지 유형의 문자열 모두에 같은 리소스 파일을 등록할 수 있습니다. 사용 합니다 CategoryCount, CategoryResourceFileMessageResourceFile, 및 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

ComponentISite를 가져오거나 설정합니다.

(다음에서 상속됨 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()

Component의 이름이 포함된 String을 반환합니다(있는 경우). 이 메서드는 재정의할 수 없습니다.

(다음에서 상속됨 Component)
Uninstall(IDictionary)

레지스트리에서 이벤트 로그 정보를 제거하여 설치를 제거합니다.

이벤트

AfterInstall

Installers 속성의 모든 설치 관리자에 대한 Install(IDictionary) 메서드가 실행된 후에 발생합니다.

(다음에서 상속됨 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)

적용 대상

추가 정보