1
Windowsイベントビューアでカスタムビューを作成するためのAPIはありますか?APIを使用してWindowsイベントビューアでカスタムビューを作成する方法は?
私はNSISを使ったインストールでそれをしたいと思っています。 しかし、もし私が傾けると他の方法があれば、私はそれのためのプラグインを書くでしょう。
Windowsイベントビューアでカスタムビューを作成するためのAPIはありますか?APIを使用してWindowsイベントビューアでカスタムビューを作成する方法は?
私はNSISを使ったインストールでそれをしたいと思っています。 しかし、もし私が傾けると他の方法があれば、私はそれのためのプラグインを書くでしょう。
問題はNSISではなく、the way the Event Log worksです。メッセージテーブルDLLをシステムのどこかにインストールし、レジストリに登録する必要があります。このDLLは、ログを表示するときにイベントログビューアで使用され、メッセージを記録するときには使用されないため、システムに残り続ける必要があります。この設計はインストーラにとって本当に問題になります。
$ tempまたは$ exedirのプレーンテキストファイルにログするだけの方がいいでしょう。
あなたは本当にイベントログを使用すると、あなたができたハックを気にしない場合:
NSIS co deは次のようになります。
section
System::Call 'advapi32::RegisterEventSource(i0,t "Software Installation")i.r0'
#TODO: Check if $0 == 0 and display error message
System::Call '*(i,&t1000 "Hello world")i.r1'
IntOp $2 $1 + 4
System::Call '*$1(ir2)'
System::Call 'advapi32::ReportEvent(ir0,i ${EVENTLOG_ERROR_TYPE},i0,i 101,i0,i1,i0,ir1,i0)i'
System::Free $1
System::Call 'advapi32::DeregisterEventSource(ir0)'
sectionend