EventLogInstaller.ParameterResourceFile プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ソースのメッセージ パラメーター文字列が格納されたリソース ファイルのパスを取得または設定します。
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 設定しないでください。
イベント メッセージの定義とイベント リソース ファイルの構築の詳細については、Platform SDK ドキュメントの メッセージ コンパイラ に関する記事を参照してください。
適用対象
こちらもご覧ください
.NET