windows-error-reporting - 为什么 Microsoft 生态系统元数据交换需要在 Windows 10 上提升管理员权限?

标签 windows-error-reporting

使用“Microsoft Ecosystem Metadata Exchange (EMX)”工具(这是用于注册 Windows 错误报告的应用程序的工具),尝试扫描任何文件会将以下消息记录到“应用程序日志”系统日志中:

Message            : [Microsoft.Telemetry.MetadataExchange.SystemFileMetadataProvider: 56593614]: Unable to scan the given file due to the following exception:


                     System.Runtime.InteropServices.COMException (0x80070522): A required privilege is not held by the client. (Exception from HRESULT:
                     0x80070522)
                            at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
                            at Microsoft.Telemetry.MetadataExchange.CrossProcessFileScanner.ScanFile(String path)
                            at Microsoft.Telemetry.MetadataExchange.SystemFileMetadataProvider.GetMetadata(String filePath)


                     __________________________________________________________________________________________________________________________________________
                     __________________
                     Logged   at Microsoft.Telemetry.MetadataExchange.FileMetadataScanner.Scan()
                            at Microsoft.Telemetry.MetadataExchange.Presentation.ScanProgressDialogModel.worker_DoWork(Object sender, DoWorkEventArgs e)
                            at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
                            at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
                            at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
                            at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
                            at System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Object o)
                            at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
                            at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
                            at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
                            at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
                            at System.Threading.ThreadPoolWorkQueue.Dispatch()
                            at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

我使用 EMX 的 powershell 绑定(bind)得到了相同的结果。

如果我从提升命令提示符运行 powershell 绑定(bind)的工具本身,它确实可以工作。

我认为这是最近的问题(Windows 10?),如 the documentation没有提到这个问题,而且工具本身启动时也没有报错。

要求提升的限制在 Windows 10 中是否已发生变化,我是否可以通过某种方式解决? (即,我可以在不提升的情况下使其以某种方式工作吗?)

最佳答案

我确实从 Microsoft 支持部门得到了答复:

We are aware of this. It was not expected but, depending the outcome of my investigation, running elevated may become the official method.

我认为这意味着,目前该问题没有真正的解决方法,您只需以管理员身份运行 EMX。

关于windows-error-reporting - 为什么 Microsoft 生态系统元数据交换需要在 Windows 10 上提升管理员权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38887517/

相关文章:

windows - 哪些版本的Windows通过其错误报告生成本地故障转储文件?哪个不?

c++ - Windows 错误报告何时创建转储文件?它是可配置的吗?这在 Windows 7 中有变化吗?

c++ - 我应该通过单独的进程编写自己的故障转储还是依赖 WER?

windows-error-reporting - 如何为我的应用程序 (cpp) 重新激活 Windows 错误报告? (Windows 10)

windbg - 如何找到 'Access Violation' 的来源

c# - APPCRASH 消息的详细信息是什么意思?

c++ - 在应用程序运行时禁用 WER

c# - 使用 WER(Windows 错误报告)工具收集我们程序的小型转储

c# - 在没有用户提示的情况下使用 RegisterApplicationRestart 重新启动崩溃的程序