首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NSIS脚本中以管理员身份运行*.exe文件

在NSIS脚本中以管理员身份运行*.exe文件
EN

Stack Overflow用户
提问于 2017-09-22 17:54:54
回答 1查看 4.5K关注 0票数 2

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

“$INSTDIR\bin\UserPasswordUtility.exe”$R0 $R1‘

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

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

我在网上搜索过。我找不到任何答案。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-09-25 16:11:22

如果您的自定义应用程序总是需要UAC提升,那么您应该向它的清单中添加一个RequestedExecutionLevel节点。在NSIS中,您必须使用ExecShell来执行需要提升的应用程序,Exec不能提升。

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

代码语言:javascript
复制
ExecShell "runas" "$sysdir\calc.exe"

如果您的安装程序总是需要执行提升的应用程序,那么您可能也应该通过脚本中的RequestExecutionLevel admin请求安装程序的提升。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46370604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档