EventLogInstaller.ParameterResourceFile Właściwość

Definicja

Pobiera lub ustawia ścieżkę pliku zasobu zawierającego ciągi parametrów komunikatu dla źródła.

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

Wartość właściwości

Ścieżka pliku zasobu parametru komunikatu. Wartością domyślną jest ciąg pusty ("").

Atrybuty

Przykłady

Poniższy przykład kodu ustawia właściwości instalacji dla nowego źródła zdarzeń. Przykładowy kod ustawia nazwę źródła zdarzeń, nazwę dziennika zdarzeń i plik zasobu dla zlokalizowanego tekstu zdarzenia.

#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

W przykładzie kodu użyto następującego pliku tekstowego komunikatu wbudowanego w bibliotekę zasobów EventLogMsgs.dll. Plik tekstowy wiadomości to źródło, z którego jest tworzony plik zasobu wiadomości. Plik tekstowy wiadomości definiuje identyfikatory zasobów i tekst dla kategorii, komunikatu zdarzenia i ciągów wstawiania parametrów. W szczególności komunikat zdefiniowany dla identyfikatora zasobu 1004 używa symbolu zastępczego dla ciągu parametru zdefiniowanego dla identyfikatora zasobu 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  
.  

Uwagi

ParameterResourceFile Użyj właściwości , aby skonfigurować źródło dziennika zdarzeń do zapisywania zlokalizowanych komunikatów zdarzeń z wstawionymi ciągami parametrów. Każdy zlokalizowany komunikat zdarzenia określony we MessageResourceFile właściwości może zawierać symbole zastępcze ciągów wstawiania. Te symbole zastępcze służą do określania pozycji i identyfikatora zasobu dla ciągu niezależnego od języka w komunikacie zdarzenia. Podgląd zdarzeń zastępuje symbole zastępcze odpowiednimi ciągami z elementu ParameterResourceFile i formatuje komunikat dziennika zdarzeń dla zlokalizowanego wpisu zdarzenia.

Na przykład poniższa sekcja pliku tekstowego wiadomości definiuje ciąg z symbolem zastępczym parametru:

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

W pliku zasobów parametrów ciąg wstawiania musi być zdefiniowany przy użyciu identyfikatora zasobu odpowiadającego symbolowi zastępczemu, jak pokazano poniżej:

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

Źródło zdarzeń musi być skonfigurowane do zapisywania zlokalizowanych wpisów lub zapisywania ciągów bezpośrednich. Użyj metody do zapisywania WriteEvent zlokalizowanych wpisów dla źródła skonfigurowanego przy użyciu pliku zasobu komunikatu.

Jeśli aplikacja zapisuje ciągi komunikatów zdarzeń bezpośrednio w dzienniku zdarzeń lub jeśli MessageResourceFile nie zawiera komunikatów z symbolami zastępczymi wstawiania parametrów, nie ustawiaj ParameterResourceFile właściwości .

Aby uzyskać szczegółowe informacje na temat definiowania komunikatów zdarzeń i tworzenia plików zasobów zdarzeń, zobacz artykuł Kompilator komunikatów w dokumentacji zestawu SDK platformy.

Dotyczy

Zobacz też