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


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 для платформы.

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

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