» Перезаписываемые переменные

K.A.V.
www.oszone.net
22.02.2010
Автор: kotkovets
Последнее обновление: 18.12.2010


$0  $1  $2  $3  $4  $5  $6  $7  $8  $9  $R0  $R1  $R2  $R3  $R4  $R5  $R6  $R7  $R8  $R9 

Эти переменные могут использоваться точно так же как и пользовательские переменные,
но обычно используются в общедоступных функциях или макроопределениях.
Объявлять эти переменные совершенно не нужно, вы не будете получать конфликтов по именам в скрипте.
Используя эти переменные в скрипте, рекомендуется использовать стек для сохранения и восстановления их оригинальных значений,
во избежании перезаписи другими командами и функциями, что может привести к непредсказуемым результатам.
Эти переменные часто используются плагинами NSIS.

$INSTDIR
Инсталляционная директория
Устанавливается явно через InstallDir или не явно с помощью StrCpy, ReadRegStr, ReadINIStr
InstallDir "$PROGRAMFILES\My Soft"

Section
 DetailPrint "$INSTDIR"
 StrCpy "$INSTDIR" "$PROGRAMFILES\App"
 DetailPrint "$INSTDIR"
SectionEnd

$OUTDIR
Текущая выходная папка
Устанавливается явно через SetOutPath или не явно с помощью StrCpy, ReadRegStr, ReadINIStr
Section
 SetOutPath "$TEMP\Soft"
 DetailPrint "$OUTDIR"
 StrCpy "$OUTDIR" "$WINDIR"
 DetailPrint "$OUTDIR"
SectionEnd

$CMDLINE
Командная строка инсталлятора

$LANGUAGE
Идентификатор языка