请求的注册表是不允许的

时间:2017-10-04 08:04:12

标签: c# eventlog-source

当我运行下面的代码时,我得到Exception Unhandled System.Security.SecurityException:'不允许请求的注册表访问'。 我有所有必要的机器访问权。

namespace EventViewer
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Welcom to Event Log Viewer");
            Console.WriteLine("Please enter Retrieve to Retrieve EventLogs");
            string Retrieve = Console.ReadLine();
            string Logs = Retrieve;

            switch (Logs)
            {
                case "Retrieve":
                    EventLog eventLog;
                    eventLog = new EventLog();
                    eventLog.Log = "Security";
                    eventLog.Source = "Security-Auditiing";
                    eventLog.MachineName = "Cheetah";

                    var count = 0;
                    foreach (EventLogEntry log in eventLog.Entries)
                    {
                        if (count > 200)
                        {
                            return;
                        }
                        Console.Write("eventLog.Log: ", eventLog.Log);

                    }
                    break;
            }





        }
    }
}

1 个答案:

答案 0 :(得分:2)

如果要在应用程序中修复此问题,请执行以下操作。

  1. 将清单文件添加到您的应用程序并设置执行级别,如下所示。

     <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    
  2. 发布此应用程序将在执行时请求管理员访问权限。