在NSIS脚本

时间:2017-09-22 17:54:55

标签: nsis

我正在尝试将exe应用程序作为NSIS Installer脚本的一部分运行。我正在使用EXEC命令来运行该应用程序。应用程序运行但不是管理员。我的应用程序正在更改一些注册表值,因此它必须以管理员身份运行。操作系统是Win 7及以上版本。

执行''$ INSTDIR \ bin \ UserPasswordUtility.exe“$ R0 $ R1'

我将用户名($ R0)和密码($ R1)作为用户输入

我已经请求了管理员的执行级别 RequestExecutionLevel admin

我在线搜索。我找不到任何答案。

谢谢

1 个答案:

答案 0 :(得分:0)

如果您的自定义应用程序始终需要UAC提升,那么您应该在其清单中添加RequestedExecutionLevel节点。在NSIS中,您必须使用ExecShell来执行需要提升的应用程序,Exec无法提升。

如果您的应用程序通常不需要提升,但您需要一次请求它,您可以使用 runas 动词:

ExecShell "runas" "$sysdir\calc.exe"

如果您的安装程序始终需要执行提升的应用程序,那么您应该在脚本中使用RequestExecutionLevel admin请求提升安装程序。