找不到发布者MyTestSource资源或EventLog服务帐户(NT SERVICE \ EventLog)无法访问发布者资源

时间:2019-01-23 10:06:21

标签: c# etw wevtutil

我正在尝试使用nuget中的Microsoft.Diagnostics.Tracing.EventRegister注册EventSource。我重建我的项目及其生成的清单。

Debug

之后,我由admin运行cmd并执行以下命令:

wevtutil.exe im "ETW loggiing.MyTestSource.etwManifest.man"

然后cmd返回此警告

**** Warning: Publisher MyTestSource resources could not be found or are not 
accessible
to the EventLog service account (NT SERVICE\EventLog).

之后,我更改了文件权限

permission

它可以工作,但是为什么会出现此警告,以及如何使用代码解决该问题?

1 个答案:

答案 0 :(得分:0)

我通过设置从代码对dll文件的访问来解决此问题:

FileInfo fInfo = new FileInfo(path);
        if (fInfo.Exists)
        {
            FileSecurity security = fInfo.GetAccessControl();
            security.AddAccessRule(new FileSystemAccessRule(new SecurityIdentifier(WellKnownSidType.AuthenticatedUserSid, null), FileSystemRights.ReadAndExecute, AccessControlType.Allow));
            fInfo.SetAccessControl(security);
        }