我有一个vb.net windows窗体应用程序,我正在使用visual studio部署项目进行部署。应用程序需要将事件日志写入事件查看器中的应用程序日志。由于here解释的原因,我需要在安装过程中创建事件源。这样的东西作为安装程序的一部分运行
If Not EventLog.SourceExists(My.Application.Info.ProductName) Then
EventLog.CreateEventSource(My.Application.Info.ProductName, "Application")
End If
该代码需要在安装程序期间以提升的权限运行。所以我的问题是:
答案 0 :(得分:0)
将空注册表项添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog \ Application \ MY_CUSTOM_SOURCE_NAME_HERE似乎工作正常。
答案 1 :(得分: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服务