- PR -

イベントログ ソース、カテゴリの登録について

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2004/08/26
投稿数: 34
投稿日時: 2007-11-01 21:16
"testSource"という名前のイベントソースを登録し、ローカライズしたカテゴリ文字列を使用したいのですが、
上手くいきません。

【事象】

イベントビューアで見た時に分類の欄にカテゴリID(1)が表示される。
イベントビューアで見た時に説明の欄にカテゴリ文字列として出力したいもの"Installation"が表示される。


【行ったこと】

1)testEventLogMsg.mc を作成。以下内容
MessageId=1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.


2)testEventLogMsg.dllを作成するためのbatファイルを作成。以下batファイルの内容
mc.exe testEventLogMsg.mc
rc.exe testEventLogMsg.rc
link.exe /NOENTRY /MACHINE:IX86 /DLL testEventLogMsg.res


3)イベントソースとして登録するためにregistTestEventMsg.bat を作成。以下内容
reg add HKLM\\System\\CurrentControlSet\\Services\\Eventlog\\Application\\%1
reg add HKLM\\System\\CurrentControlSet\\Services\\Eventlog\\Application\\%1 /v EventMessageFile /t REG_EXPAND_SZ /d C:\\WINDOWS\\system32\\testEventLogMsg.dll
reg add HKLM\\System\\CurrentControlSet\\Services\\Eventlog\\Application\\%1 /v TypesSupported /t REG_DWORD /d 7


4)3)をコマンドプロンプトで呼び出し(コマンドライン引数="testSource")
registTestEventMsg.bat testSource


5)vb.NETより以下のコードを実行
System.Diagnostics.EventLog.WriteEntry("testSource", "testMsg", 1, 1, 1)


※イベントソースの登録を.NetFramework2.0から追加された機能を用いた場合、
 正しくできましたが、本番環境では.NetFramework1.1で動作しているため使用出来ません。
 以下そのコード
Dim eventSourceCreationData As New System.Diagnostics.EventSourceCreationData("", "")
With eventSourceCreationData
.Source = "testS"
.LogName = "Application"
.MachineName = "."
.CategoryResourceFile = "C:\\WINDOWS\\system32\\testEventLogMsg.dll"
.CategoryCount = 1
System.Diagnostics.EventLog.CreateEventSource(eventSourceCreationData)
End With

以上です。ご教授よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)