我想使用 NSIS 脚本执行一些命令,但要使命令正常工作,我必须使用右键单击菜单中的“以管理员身份运行”打开命令提示符。它是如何使用 NSIS 脚本实现的。
我正在使用
RequestExecutionLevel admin
与 exec 命令一起使用,但这似乎不起作用。
最佳答案
RequestExecutionLevel
仅在 UAC 打开时适用于 Vista+,因此您还应该在运行时检查以涵盖其他情况:
Outfile RequireAdmin.exe
RequestExecutionLevel admin ;Require admin rights on NT6+ (When UAC is turned on)
!include LogicLib.nsh
Function .onInit
UserInfo::GetAccountType
pop $0
${If} $0 != "admin" ;Require admin rights on NT4+
MessageBox mb_iconstop "Administrator rights required!"
SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
Quit
${EndIf}
FunctionEnd
Page InstFile
Section
SectionEnd
关于installation - 使用 NSIS 执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11049791/