如何以普通用户身份从 UAC 提升的安装程序启动程序

问题描述 投票:0回答:3

我正在编写一个 NSIS 安装程序,安装程序根据需要在 Windows 7 / vista 上提升“管理员身份”。 我需要在安装结束时运行已安装的程序,并且不想使用与安装程序相同的权限启动它。

常规 NSIS exec 命令使用与安装程序相同的权限运行子进程。

NSIS 有一个 UAC 插件,但是它的文档不是很好,而且看起来很新;我不想使用该插件。

理想情况下,我正在寻找一个可以包含在内的小型 .exe,它将在不提升 UAC 的情况下启动目标程序。这个存在吗?

还有其他建议吗?

谢谢!

installation uac nsis
3个回答
4
投票

你只有两个选择:

  • 取消选中并删除运行复选框(在 NT6+ 上运行时)
  • 使用UAC插件(它不是那么新,但是使用起来很痛苦,所以我建议你选择第一个选项)

没有可以使用的外部程序,因为不可能从提升的进程返回到原始用户(您可以尝试,并非常接近,但它不会在每种情况下都获得正确的用户)


0
投票

我发现了以下内容,可以将其包装成一个简单的命令行实用程序:

http://brandonlive.com/2008/04/27/getting-the-shell-to-run-an-application-for-you-part-2-how/

只花了大约一个小时就让该代码适用于我的项目,到目前为止它运行完美。 ;)


-1
投票

我想尝试 UAC 插件,但它现在已被弃用。由于这个讨论是 13 年前的事了,我可以知道今天我可以用什么来实现同样的事情吗?

© www.soinside.com 2019 - 2024. All rights reserved.