我正在尝试运行一个exe应用程序作为我的NSIS安装程序脚本的一部分。我使用EXEC命令运行应用程序。应用程序运行,但不是以管理员身份运行。我的应用程序正在更改一些注册表值,因此它必须作为管理员运行。操作系统是赢7及以上。
“$INSTDIR\bin\UserPasswordUtility.exe”$R0 $R1‘
我使用用户名($R0)和密码($R1)作为用户输入。
我已经请求了管理RequestExecutionLevel管理的执行级别
我在网上搜索过。我找不到任何答案。
谢谢
发布于 2017-09-25 16:11:22
如果您的自定义应用程序总是需要UAC提升,那么您应该向它的清单中添加一个RequestedExecutionLevel节点。在NSIS中,您必须使用ExecShell来执行需要提升的应用程序,Exec不能提升。
如果您的应用程序通常不需要提升,但您需要请求它一次,则可以使用runas谓词:
ExecShell "runas" "$sysdir\calc.exe"如果您的安装程序总是需要执行提升的应用程序,那么您可能也应该通过脚本中的RequestExecutionLevel admin请求安装程序的提升。
https://stackoverflow.com/questions/46370604
复制相似问题