创建事件日志源作为安装的一部分 - Windows窗体应用程序和部署项目

时间:2011-03-27 23:06:10

标签: vb.net winforms visual-studio-2010 setup-deployment visual-studio-setup-proje

我有一个vb.net windows窗体应用程序,我正在使用visual studio部署项目进行部署。应用程序需要将事件日志写入事件查看器中的应用程序日志。由于here解释的原因,我需要在安装过程中创建事件源。这样的东西作为安装程序的一部分运行

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

该代码需要在安装程序期间以提升的权限运行。所以我的问题是:

  1. 如何在安装程序中执行上述代码?
  2. 如何让安装程序执行UAC提示以允许该代码作为安装的一部分运行?

2 个答案:

答案 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服务