3

我想使用 NSIS 脚本执行一些命令,但是要使命令正常工作,我必须使用右键菜单中的“以管理员身份运行”打开命令提示符。如何使用 NSIS 脚本做到这一点。

我在用

 RequestExecutionLevel admin 

与 exec 命令一起,但这似乎不起作用。

4

1 回答 1

3

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
于 2012-06-15T13:26:31.813 回答