
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4202 212acab6-be3b-0410-9dea-997c60f758d6
84 lines
2.5 KiB
Text
84 lines
2.5 KiB
Text
\S1{miscinst} Miscellaneous Instructions
|
|
|
|
\S2{geterrorlevel} GetErrorLevel
|
|
|
|
\c user_var(error level output)
|
|
|
|
Returns the last error level set by \R{seterrorlevel}{SetErrorLevel} or -1 if it was never used.
|
|
|
|
\c GetErrorLevel $0
|
|
\c IntOp $0 $0 + 1
|
|
\c SetErrorLevel $0
|
|
|
|
\S2{getinstdirerror} GetInstDirError
|
|
|
|
\c user_var(error output)
|
|
|
|
Use in the leave function of a directory page. Reads the flag set if '\R{adirverify}{DirVerify leave}' is used. Possible values:
|
|
|
|
0: No error
|
|
|
|
1: Invalid installation directory
|
|
|
|
2: Not enough space on installation drive
|
|
|
|
\c !include LogicLib.nsh
|
|
\c PageEx directory
|
|
\c DirVerify leave
|
|
\c PageCallbacks "" "" dirLeave
|
|
\c PageExEnd
|
|
\c
|
|
\c Function dirLeave
|
|
\c GetInstDirError $0
|
|
\c ${Switch} $0
|
|
\c ${Case} 0
|
|
\c MessageBox MB_OK "valid installation directory"
|
|
\c ${Break}
|
|
\c ${Case} 1
|
|
\c MessageBox MB_OK "invalid installation directory!"
|
|
\c Abort
|
|
\c ${Break}
|
|
\c ${Case} 2
|
|
\c MessageBox MB_OK "not enough free space!"
|
|
\c Abort
|
|
\c ${Break}
|
|
\c ${EndSwitch}
|
|
\c FunctionEnd
|
|
|
|
\S2{initpluginsdir} InitPluginsDir
|
|
|
|
Initializes the plug-ins dir (\R{varconstant}{$PLUGINSDIR}) if not already initialized.
|
|
|
|
\c InitPluginsDir
|
|
\c File /oname=$PLUGINSDIR\image.bmp image.bmp
|
|
|
|
\S2{seterrorlevel} SetErrorLevel
|
|
|
|
\c error_level
|
|
|
|
Sets the error level of the installer or uninstaller to \e{error_level}. See \R{errorlevels}{Error Levels} for more information.
|
|
|
|
\c IfRebootFlag 0 +2
|
|
\c SetErrorLevel 4
|
|
|
|
\S2{setshellvarcontext} SetShellVarContext
|
|
|
|
\c \\<b\\>current\\</b\\>|all
|
|
|
|
Sets the context of $SMPROGRAMS and other shell folders. If set to 'current' (the default), the current user's shell folders are used. If set to 'all', the 'all users' shell folder is used. The all users folder may not be supported on all OSes. If the all users folder is not found, the current user folder will be used. Please take into consideration that a "normal user" has no rights to write in the all users area. Only admins have full access rights to the all users area. You can check this by using the UserInfo plug-in. See Contrib\\UserInfo\\UserInfo.nsi for an example.
|
|
|
|
\c SetShellVarContext current
|
|
\c StrCpy $0 $DESKTOP
|
|
\c SetShellVarContext all
|
|
\c StrCpy $1 $DESKTOP
|
|
\c MessageBox MB_OK $0$\n$1
|
|
|
|
\S2{sleep} Sleep
|
|
|
|
\c sleeptime_in_ms
|
|
|
|
Pauses execution in the installer for sleeptime_in_ms milliseconds. sleeptime_in_ms can be a variable, e.g. "$0" or a number, i.e. "666".
|
|
|
|
\c DetailPrint "sleeping..."
|
|
\c Sleep 3000
|
|
\c DetailPrint "back to work"
|