Nsis 针对Windows 7和Vista启用UAC的安装/卸载

Nsis 针对Windows 7和Vista启用UAC的安装/卸载,nsis,Nsis,我正在使用NSIS(HM NISedit 2.0.3用于编辑器)构建应用程序的设置。对于带有UAC(7和vista)的Windows,它有时在我右键单击mysetup.exe并说“以管理员身份运行”之前不会安装(卸载的情况也是如此)。关闭UAC时不会发生这种情况。请建议我如何在安装进行之前在脚本中禁用UAC,或者以任何其他方式克服此UAC问题?。 请为我目前面临的上述问题提供一些解决方案。如果您需要管理员权限,您应该使用requestexecutionlevel来标记安装程序(如果您安装到$pr

我正在使用NSIS(HM NISedit 2.0.3用于编辑器)构建应用程序的设置。对于带有UAC(7和vista)的Windows,它有时在我右键单击mysetup.exe并说“以管理员身份运行”之前不会安装(卸载的情况也是如此)。关闭UAC时不会发生这种情况。请建议我如何在安装进行之前在脚本中禁用UAC,或者以任何其他方式克服此UAC问题?。
请为我目前面临的上述问题提供一些解决方案。

如果您需要管理员权限,您应该使用requestexecutionlevel来标记安装程序(如果您安装到$programfiles或写入HKEY_LOCAL_机器):


如果您仅为当前用户安装($appdata/$localappdata和HKEY_current_用户),您可以使用
RequestExecutionLevel用户

如果您需要管理员权限,您应该使用RequestExecutionLevel标记安装程序(如果您安装到$programfiles或写入HKEY_LOCAL_计算机):


如果您仅为当前用户安装($appdata/$localappdata和HKEY_current_user),您可以使用
RequestExecutionLevel user

这是否会触发UAC弹出窗口并请求管理员密码,如果输入,则继续安装。或者,如果安装程序没有以管理员权限运行,它会简单地退出吗?@dibius“RequestExecutionLevel admin”部分添加UAC检查的清单位,因此是的,这会触发UAC提示…这会触发UAC弹出窗口并请求管理员密码,如果输入,则继续安装。或者,如果安装程序没有以管理员权限运行,它只是退出吗?@dibius“RequestExecutionLevel admin”部分添加了UAC检查的清单位,因此是的,这会触发UAC提示。。。
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