什么是 <requestedExecutionLevel level="asInvoker" uiAccess="true">?

lab*_*teh 3 xml exception nullpointerexception

当我运行程序时,我收到此错误 https://i.stack.imgur.com/Acau7.png

Time out.Bytes not found
Run Code Online (Sandbox Code Playgroud)

文件夹内C:\Users\asus\AppData\Local\Temp\SPOON\CACHE\0xCD27F35E6D57DCAA\sxs\Manifests我有这个文件

_VideoConverter.exe_0x6a91ee5efb16896ba86a5942f951668f.1.manifest
Movavi.io.dll_0xc16fe9d9f683ef0c3ccd5a2c82a5f19f.2.manifest
MovaviTracker.dll_0x7b548ea141dc5ea1fe03fee6e585f8a1.2.manifest
Run Code Online (Sandbox Code Playgroud)

在 _videoConverter 内部,例如我有

<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false">
        </requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)

但如果我改为

<requestedExecutionLevel level="asInvoker" uiAccess="true">
Run Code Online (Sandbox Code Playgroud)

错误Time out不再发生。
为什么 ?会发生什么 ?

Mic*_*l T 5

任何将 UIAccess 设置为 true 的 exe 都需要进行签名并存储在安全位置,例如 C:\Program Files.. 等。

因此,当您更改清单文件中的值时,您将阻止程序运行 - 因此不会超时。