有什么方法可以强制通常需要管理员权限(通过 UAC)的程序在没有管理员权限的情况下运行?(即:没有 UAC 提示和没有系统范围的访问权限。)
补充:不修改可执行文件本身。
尽管詹姆斯给出了答案,但我发现了几种几乎可以做到的方法:
trustInfo从清单(或整个清单,因此我可以使用外部清单)中删除条目,从而允许程序在没有 UAC 的情况下启动。不幸的是,这会修改可执行文件,因此由于内部校验和测试,它很快就会退出。如果我的 cmd.exe 窗口在标题栏中显示“管理员”,表明它是以提升的权限启动的,这是否意味着我从这个命令窗口执行的任何内容也以提升的权限运行?
具体来说,如果我运行类似的东西:
msiexec SomeProgram.msi
Run Code Online (Sandbox Code Playgroud)
我的安装程序是否以提升的权限运行,因为它是从以提升的权限运行的 cmd.exe 执行的?
更具体地说:我想知道显示 UI 并立即在 cmd.exe 窗口中返回提示的应用程序(如msiexec上面的调用)是否正在以提升的权限执行。