我是NSIS安装程序的新手。对于我的产品之一,我需要提升该应用程序以管理员身份运行。我找到了一个UAC插件,希望它能满足我的需求。这是我第一次将插件编码到NSIS脚本中。我试图找到一些有用的文档,告诉我如何在脚本中调用它们。如果您知道任何示例脚本,初学者帮助文档,请让我知道。
谢谢!
需要提升两个步骤:
您可以在NSIS中执行以下操作:
RequestExecutionLevel Admin ; Request admin rights on WinVista+ (when UAC is turned on)
!include LogicLib.nsh
!macro EnsureAdminRights
UserInfo::GetAccountType
Pop $0
${If} $0 != "admin" ; Require admin rights on WinNT4+
MessageBox MB_IconStop "Administrator rights required!"
SetErrorLevel 740 ; ERROR_ELEVATION_REQUIRED
Quit
${EndIf}
!macroend
Function .onInit
SetShellVarContext All
!insertmacro EnsureAdminRights
FunctionEnd
Function un.onInit
SetShellVarContext All
!insertmacro EnsureAdminRights
FunctionEnd
从此安装程序启动的应用程序也将提升运行。通常这不是您想要的,但是您的问题表明您愿意吗?如果已安装的应用程序需要提升运行,则应在其清单中进行指定。
UAC插件无法帮助您提升。