Using the "Microsoft Ecosystem Metadata Exchange (EMX)" tool (which is the tool you use to register your application for Windows Error Reporting), attempting to scan any file logs the following message to the "Application Log" system log:
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()
I get the same result using the powershell bindings for EMX.
If I run either the tool itself of the powershell bindings from an Elevated command prompt, it does work.
I assume that this is a recent issue (Windows 10?), as the documentation does not mention this problem, and the tool itself doesn't give any error when launching.
Is the limitation of requiring elevation something that has changed in Windows 10, and is it something that I can somehow work around? (i.e., can I make it work somehow without elevation?)
I did get an answer from Microsoft Support:
We are aware of this. It was not expected but, depending the outcome of my investigation, running elevated may become the official method.
I take this to mean that, at this time, there is no real workaround for the issue, you just have to run EMX as Administrator.
User contributions licensed under CC BY-SA 3.0