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

avw*_*ord 7 vb.net visual-studio-2010 setup-deployment winforms visual-studio-setup-proje

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

        If Not EventLog.SourceExists(My.Application.Info.ProductName) Then
            EventLog.CreateEventSource(My.Application.Info.ProductName, "Application")
        End If
Run Code Online (Sandbox Code Playgroud)

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

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

Ray*_*lha 1

添加一个空的注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\MY_CUSTOM_SOURCE_NAME_HERE似乎工作正常。