Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Instruct Windows explorer to run an application using its own integrity level
; Run what we installed. Use a trick on Vista+ to run as non-Admin
GetDLLVersion "Kernel32.dll" $R0 $R1
IntOp $R2 $R0 >> 16
IntOp $R2 $R2 & 0x0000FFFF ; $R2 now contains major version
IntCmp $R2 6 is6 lessthan6 morethan6
is6:
morethan6:
exec '"$WINDIR\explorer.exe" "$INSTDIR\sr.exe"' ; We use Explorer to launch it to get it to run non-elevated
goto RanIt
lessthan6:
exec '"$INSTDIR\sr.exe"' ; No UAC on XP, but Authenticode prompts if we try to use Explorer to launch app
RanIt:
StrCpy $9 "Success"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment