mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-28 03:49:20 +03:00
62 lines
No EOL
1.8 KiB
Text
Executable file
62 lines
No EOL
1.8 KiB
Text
Executable file
RequestExecutionLevel user /* RequestExecutionLevel REQUIRED! */
|
|
!define APPNAME "UAC_AdminOnly"
|
|
Name "${APPNAME}"
|
|
OutFile "${APPNAME}.exe"
|
|
ShowInstDetails show
|
|
|
|
!include UAC.nsh ;<<< New headerfile that does everything for you ;)
|
|
!include LogicLib.nsh
|
|
|
|
!define UACSTR.I.ElvAbortReqAdmin "This fancy app requires admin rights fool" ;custom error string, see _UAC.InitStrings macro in uac.nsh for more
|
|
|
|
Function .OnInit
|
|
${UAC.I.Elevate.AdminOnly}
|
|
FunctionEnd
|
|
|
|
Function .OnInstFailed
|
|
${UAC.Unload}
|
|
FunctionEnd
|
|
Function .OnInstSuccess
|
|
${UAC.Unload}
|
|
FunctionEnd
|
|
|
|
Function ExecCodeSegmentTest
|
|
${If} "$1" != "666, the # of the beast"
|
|
MessageBox mb_ok "uh oh"
|
|
${EndIf}
|
|
FunctionEnd
|
|
|
|
Section "Info"
|
|
!insertmacro _UAC.DbgDetailPrint
|
|
|
|
StrCpy $1 "666, the # of the beast"
|
|
!insertmacro UAC.CallFunctionAsUser ExecCodeSegmentTest
|
|
SectionEnd
|
|
|
|
page InstFiles
|
|
|
|
/* LEGACY CODE: (now uses magic code from UAC.nsh)
|
|
Function .OnInit
|
|
UAC_Elevate:
|
|
UAC::RunElevated
|
|
StrCmp 1223 $0 UAC_ElevationAborted ; UAC dialog aborted by user?
|
|
StrCmp 0 $0 0 UAC_Err ; Error?
|
|
StrCmp 1 $1 0 UAC_Success ;Are we the real deal or just the wrapper?
|
|
Quit
|
|
UAC_Err:
|
|
MessageBox mb_iconstop "Unable to elevate , error $0"
|
|
Abort
|
|
UAC_ElevationAborted:
|
|
/*System::Call "user32::CreateWindowEx(i ${WS_EX_TRANSPARENT}|${WS_EX_LAYERED}, t 'Button', t 'blah', i 0, i 10, i 10, i 10, i 10, i 0, i 0, i 0) i .r0"
|
|
ShowWindow $0 ${SW_SHOW}
|
|
System::Call "user32::SetForegroundWindow(i r0) i."
|
|
System::Call "user32::DestroyWindow(i r0) i."
|
|
* /
|
|
MessageBox mb_iconstop "This installer requires admin access, aborting!"
|
|
Abort
|
|
UAC_Success:
|
|
StrCmp 1 $3 +4 ;Admin?
|
|
StrCmp 3 $1 0 UAC_ElevationAborted ;Try again or abort?
|
|
MessageBox mb_iconstop "This installer requires admin access, try again" ;Inform user...
|
|
goto UAC_Elevate ;... and try again
|
|
FunctionEnd*/ |