2012-06-15 147 views
3

我想使用NSIS脚本执行一些命令,但为了使命令正常工作,我必须使用右键菜单中的“以管理员身份运行”来打开命令提示符。它如何使用NSIS脚本来完成。使用NSIS执行命令

我使用

RequestExecutionLevel admin 

使用exec命令一起,但是这似乎并没有工作。

+1

什么操作系统? 'RequestExecutionLevel'应该适用于Vista及更高版本。 – Seki

回答

3

RequestExecutionLevel只能在Vista +当UAC是这样,你也应该检查在运行时掩护其他情况:

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