4

我有一個vb.net窗口窗體應用程序,我部署爲使用Visual Studio部署項目。應用程序需要將事件日誌寫入事件查看器中的應用程序日誌。由於解釋爲here的原因,我需要在安裝過程中創建事件源。像這樣的東西作爲安裝程序的一部分運行創建事件日誌源作爲安裝的一部分 - Windows窗體應用程序,VS部署項目

 If Not EventLog.SourceExists(My.Application.Info.ProductName) Then 
      EventLog.CreateEventSource(My.Application.Info.ProductName, "Application") 
     End If 

該代碼需要在安裝程序期間以提升的權限運行。所以我的問題是:

  1. 如何執行上面的代碼作爲安裝程序的一部分?
  2. 如何讓安裝程序執行UAC提示以允許代碼作爲安裝的一部分運行?

回答

0

將一個空的註冊表項添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog \ Application \ MY_CUSTOM_SOURCE_NAME_HERE似乎工作正常。

0

您也可以嘗試在EventLogInstaller類中的方法:(安裝過程中需要管理員權限) https://msdn.microsoft.com/en-us/library/system.diagnostics.eventloginstaller(v=vs.90).aspx

還可能有興趣在使用ProjectInstaller類作爲演練描述:在組件設計器創建一個Windows服務應用程序: https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2

對不起 - 剛剛看到您的筆記重新Windows窗體。以上只適用於Windows服務

相關問題