Если вам нужны права администратора, вы должны использовать requesttexecutionlevel, чтобы отметить установщик (если вы устанавливаете в $ programfiles или пишете в HKEY_LOCAL_MACHINE):
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
Если вы устанавливаете только для текущего пользователя ($ appdata / $ localappdata и HKEY_CURRENT_USER), вы можете просто использовать RequestExecutionLevel user