我正在编写一个 NSIS 安装程序,安装程序根据需要在 Windows 7 / vista 上提升“管理员身份”。 我需要在安装结束时运行已安装的程序,并且不想使用与安装程序相同的权限启动它。
常规 NSIS exec 命令使用与安装程序相同的权限运行子进程。
NSIS 有一个 UAC 插件,但是它的文档不是很好,而且看起来很新;我不想使用该插件。
理想情况下,我正在寻找一个可以包含在内的小型 .exe,它将在不提升 UAC 的情况下启动目标程序。这个存在吗?
还有其他建议吗?
谢谢!
你只有两个选择:
没有可以使用的外部程序,因为不可能从提升的进程返回到原始用户(您可以尝试,并非常接近,但它不会在每种情况下都获得正确的用户)
我发现了以下内容,可以将其包装成一个简单的命令行实用程序:
http://brandonlive.com/2008/04/27/getting-the-shell-to-run-an-application-for-you-part-2-how/
只花了大约一个小时就让该代码适用于我的项目,到目前为止它运行完美。 ;)
我想尝试 UAC 插件,但它现在已被弃用。由于这个讨论是 13 年前的事了,我可以知道今天我可以用什么来实现同样的事情吗?