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

问题描述 投票:2回答:1

我正在尝试使用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

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

c# etw wevtutil
1个回答
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);
        }
© www.soinside.com 2019 - 2024. All rights reserved.