1
是否有API在Windows事件查看器中創建自定義視圖?如何使用API在Windows事件查看器中創建自定義視圖?
我想在使用NSIS的安裝中做到這一點, 但是,如果我不能,並且有任何其他方式,那麼我會爲它編寫一個插件。
是否有API在Windows事件查看器中創建自定義視圖?如何使用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