다음을 통해 공유


EventLogInstaller.ParameterResourceFile 속성

정의

소스에 대한 메시지 매개 변수 문자열이 들어 있는 리소스 파일의 경로를 가져오거나 설정합니다.

public:
 property System::String ^ ParameterResourceFile { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.Runtime.InteropServices.ComVisible(false)]
public string ParameterResourceFile { get; set; }
[System.Runtime.InteropServices.ComVisible(false)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string ParameterResourceFile { get; set; }
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.ParameterResourceFile : string with get, set
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.ParameterResourceFile : string with get, set
Public Property ParameterResourceFile As String

속성 값

메시지 매개 변수 리소스 파일의 경로입니다. 기본값은 빈 문자열("")입니다.

특성

예제

다음 코드 예제는 새 이벤트 원본에 대 한 설치 속성을 설정합니다. 코드 예제에서는 이벤트 원본 이름, 이벤트 로그 이름과 지역화 된 이벤트 텍스트에 대 한 리소스 파일을 설정합니다.

#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)]
public ref class SampleEventLogInstaller : public Installer
{
private:
   EventLogInstaller^ myEventLogInstaller;

public:
   SampleEventLogInstaller()
   {
      
      // Create an instance of an EventLogInstaller.
      myEventLogInstaller = gcnew EventLogInstaller;
      
      // Set the source name of the event log.
      myEventLogInstaller->Source = "ApplicationEventSource";
      
      // Set the event log into which the source writes entries.
      //myEventLogInstaller.Log = "MyCustomLog";
      myEventLogInstaller->Log = "myNewLog";
      
      // Set the resource file for the event log.
      // The message strings are defined in EventLogMsgs.mc; the message 
      // identifiers used in the application must match those defined in the
      // corresponding message resource file. The messages must be built
      // into a Win32 resource library and copied to the target path on the
      // system.  
      myEventLogInstaller->CategoryResourceFile =
             Environment::SystemDirectory + "\\eventlogmsgs.dll";
      myEventLogInstaller->CategoryCount = 3;
      myEventLogInstaller->MessageResourceFile =
             Environment::SystemDirectory + "\\eventlogmsgs.dll";
      myEventLogInstaller->ParameterResourceFile =
             Environment::SystemDirectory + "\\eventlogmsgs.dll";

      // Add myEventLogInstaller to the installer collection.
      Installers->Add( myEventLogInstaller );
   }

};

int main()
{
   Console::WriteLine( "Usage: InstallUtil.exe [<install>.exe | <install>.dll]" );
}
using System;
using System.Configuration.Install;
using System.Diagnostics;
using System.ComponentModel;

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

    public SampleEventLogInstaller()
    {
        // Create an instance of an EventLogInstaller.
        myEventLogInstaller = new EventLogInstaller();

        // Set the source name of the event log.
        myEventLogInstaller.Source = "ApplicationEventSource";

        // Set the event log into which the source writes entries.
        //myEventLogInstaller.Log = "MyCustomLog";
        myEventLogInstaller.Log = "myNewLog";

        // Set the resource file for the event log.
        // The message strings are defined in EventLogMsgs.mc; the message
        // identifiers used in the application must match those defined in the
        // corresponding message resource file. The messages must be built
        // into a Win32 resource library and copied to the target path on the
        // system.

        myEventLogInstaller.CategoryResourceFile =
             Environment.SystemDirectory + "\\eventlogmsgs.dll";
        myEventLogInstaller.CategoryCount = 3;
        myEventLogInstaller.MessageResourceFile =
             Environment.SystemDirectory + "\\eventlogmsgs.dll";
        myEventLogInstaller.ParameterResourceFile =
             Environment.SystemDirectory + "\\eventlogmsgs.dll";

        // Add myEventLogInstaller to the installer collection.
        Installers.Add(myEventLogInstaller);
    }

    public static void Main()
    {
        Console.WriteLine("Usage: InstallUtil.exe [<install>.exe | <install>.dll]");
    }
}
   Imports System.Configuration.Install
Imports System.Diagnostics
Imports System.ComponentModel

<RunInstaller(True)>  _
Public Class SampleEventLogInstaller
   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 = "ApplicationEventSource"

      ' Set the event log into which the source writes entries.
      myEventLogInstaller.Log = "MyCustomLog"

      ' Set the resource file for the event log.
      ' The message strings are defined in EventLogMsgs.mc; the message
      ' identifiers used in the application must match those defined in the
      ' corresponding message resource file. The messages must be built
      ' into a Win32 resource library and copied to the target path on the
      ' system.

      myEventLogInstaller.CategoryResourceFile = _
          Environment.SystemDirectory + "\eventlogmsgs.dll"
      myEventLogInstaller.CategoryCount = 3
      myEventLogInstaller.MessageResourceFile = _
          Environment.SystemDirectory + "\eventlogmsgs.dll"
      myEventLogInstaller.ParameterResourceFile = _
          Environment.SystemDirectory + "\eventlogmsgs.dll"

      ' Add myEventLogInstaller to the installer collection.
      Installers.Add(myEventLogInstaller)

   End Sub

   Public Shared Sub Main()
     Console.WriteLine("Usage: InstallUtil.exe [<install>.exe | <install>.dll]")
   End Sub
End Class

코드 예제에서는 리소스 라이브러리 EventLogMsgs.dll 내장 다음 메시지 텍스트 파일을 사용 합니다. 메시지 텍스트 파일은 메시지 리소스 파일 생성 되는 원본. 메시지 텍스트 파일의 리소스 식별자와 범주, 이벤트 메시지 및 매개 변수 삽입 문자열에 대 한 텍스트를 정의합니다. 특히 리소스 식별자 1004에 대 한 정의 된 메시지는 리소스 식별자 5002 정의 된 매개 변수 문자열에 대 한 자리 표시자를 사용 합니다.

; // EventLogMsgs.mc  
; // ********************************************************  

; // Use the following commands to build this file:  

; //   mc -s EventLogMsgs.mc  
; //   rc EventLogMsgs.rc  
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res   
; // ********************************************************  

; // - Event categories -  
; // Categories must be numbered consecutively starting at 1.  
; // ********************************************************  

MessageId=0x1  
Severity=Success  
SymbolicName=INSTALL_CATEGORY  
Language=English  
Installation  
.  

MessageId=0x2  
Severity=Success  
SymbolicName=QUERY_CATEGORY  
Language=English  
Database Query  
.  

MessageId=0x3  
Severity=Success  
SymbolicName=REFRESH_CATEGORY  
Language=English  
Data Refresh  
.  

; // - Event messages -  
; // *********************************  

MessageId = 1000  
Severity = Success  
Facility = Application  
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000  
Language=English  
My application message text, in English, for message id 1000, called from %1.  
.  

MessageId = 1001  
Severity = Warning  
Facility = Application  
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001  
Language=English  
My application message text, in English, for message id 1001, called from %1.  
.  

MessageId = 1002  
Severity = Success  
Facility = Application  
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002  
Language=English  
My generic information message in English, for message id 1002.  
.  

MessageId = 1003  
Severity = Warning  
Facility = Application  
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003  
Language=English  
My generic warning message in English, for message id 1003, called from %1.  
.  

MessageId = 1004  
Severity = Success  
Facility = Application  
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004  
Language=English  
The update cycle is complete for %%5002.  
.  

MessageId = 1005  
Severity = Warning  
Facility = Application  
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005  
Language=English  
The refresh operation did not complete because the connection to server %1 could not be established.  
.  

; // - Event log display name -  
; // ********************************************************  

MessageId = 5001  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID  
Language=English  
Sample Event Log  
.  

; // - Event message parameters -  
; //   Language independent insertion strings  
; // ********************************************************  

MessageId = 5002  
Severity = Success  
Facility = Application  
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID  
Language=English  
SVC_UPDATE.EXE  
.  

설명

사용 된 ParameterResourceFile 속성을 사용 하 여 지역화 된 이벤트 메시지를 작성 하는 이벤트 로그 원본을 구성 매개 변수 문자열을 삽입 합니다. 에 지정 된 각 지역화 된 이벤트 메시지는 MessageResourceFile 속성 삽입 문자열에 대 한 자리 표시자를 포함할 수 있습니다. 이러한 자리 표시자 위치 및 이벤트 메시지 내에서 언어 독립적인 문자열 리소스 식별자를 지정 하는 데 사용 됩니다. 해당 문자열을 사용 하 여 자리 표시자를 대체 하는 이벤트 뷰어는 ParameterResourceFile 지역화 된 이벤트 항목에 대 한 이벤트 로그 메시지의 서식을 지정 합니다.

예를 들어 메시지 텍스트 파일의 다음 섹션에는 매개 변수 자리 표시자를 사용 하 여 문자열로 정의합니다.

MessageId = 1501  
Severity = Success  
Facility = Application  
SymbolicName = COMPONENT_STARTING  
Language=English  
Component %%6050 is starting.  
.  

아래와 같이 삽입 문자열 매개 변수 리소스 파일에서 자리 표시자를 해당 하는 리소스 식별자를 사용 하 여 정의 해야 합니다.

MessageId = 6050  
Severity = Success  
Facility = Application  
SymbolicName = COMPONENT_NAME_MSGID  
Language=English  
TRIGGER.EXE  
.  

지역화 된 엔트리를 쓰기 위한 또는 직접 문자열을 작성 하는 것에 대 한 이벤트 소스를 구성 되어야 합니다. 사용 된 WriteEvent 메시지 리소스 파일을 사용 하 여 구성 하는 원본에 대 한 지역화 된 엔트리를 작성 하는 방법입니다.

애플리케이션 이벤트 로그에 직접 이벤트 메시지 문자열을 기록 하는 경우 또는 경우에 MessageResourceFile 메시지가 없습니다 매개 변수 삽입 자리 표시자를 사용 하 여 설정 하지 마십시오는 ParameterResourceFile 속성입니다.

이벤트 메시지를 정의하고 이벤트 리소스 파일을 빌드하는 방법에 대한 자세한 내용은 플랫폼 SDK 설명서의 메시지 컴파일러 문서를 참조하세요.

적용 대상

추가 정보