Последнее обновление: 01.09.2011
ExpandEnvStrings user_var(output) stringВозвращает из string значение переменной среды окружения в user_var.
Если указанной в string переменной среды не существует, то она не будет перезаписана.
Например, если Вы используете не существующую переменную %my_soft%, результатом будет %my_soft% в переменной user_var.
Если возникает ошибка, то переменная user_var очищается и устанавливается флаг ошибки
ExpandEnvStrings $0 "%WINDIR%\MY_SOFT $\n %TEMP%\MY_SOFT"Пример системных переменных сред оркружения:
MessageBox MB_OK "$0"
!include "MUI2.nsh"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"
ShowInstDetails show
OutFile ExpandEnvStrings.exe
Caption "ExpandEnvStrings"
Section
DetailPrint "-----------------"
ExpandEnvStrings $0 "%HOMEDRIVE%"
Detailprint "HOMEDRIVE: $0"
ExpandEnvStrings $0 "%SYSTEMDRIVE%"
Detailprint "SYSTEMDRIVE: $0"
ExpandEnvStrings $0 "%HOMEPATH%"
Detailprint "HOMEPATH: $0"
ExpandEnvStrings $0 "%WINDIR%"
Detailprint "WINDIR: $0"
ExpandEnvStrings $0 "%SYSTEMROOT%"
Detailprint "SYSTEMROOT: $0"
ExpandEnvStrings $0 "%USERPROFILE%"
Detailprint "USERPROFILE: $0"
ExpandEnvStrings $0 "%ALLUSERSPROFILE%"
Detailprint "ALLUSERSPROFILE: $0"
ExpandEnvStrings $0 "%APPDATA%"
Detailprint "APPDATA: $0"
ExpandEnvStrings $0 "%COMMONPROGRAMFILES%"
Detailprint "COMMONPROGRAMFILES: $0"
ExpandEnvStrings $0 "%PROGRAMFILES%"
Detailprint "PROGRAMFILES: $0"
ExpandEnvStrings $0 "%TEMP%"
Detailprint "TEMP: $0"
DetailPrint "-----------------"
ExpandEnvStrings $0 "%LOGONSERVER%"
Detailprint "LOGONSERVER: $0"
ExpandEnvStrings $0 "%COMPUTERNAME%"
Detailprint "COMPUTERNAME: $0"
ExpandEnvStrings $0 "%USERNAME%"
Detailprint "USERNAME: $0"
ExpandEnvStrings $0 "%USERDOMAIN%"
Detailprint "USERDOMAIN: $0"
ExpandEnvStrings $0 "%OS%"
Detailprint "OS: $0"
DetailPrint "-----------------"
ExpandEnvStrings $0 "%COMSPEC%"
Detailprint "COMSPEC: $0"
ExpandEnvStrings $0 "%PATH%"
Detailprint "PATH: $0"
ExpandEnvStrings $0 "%PATHEXT%"
Detailprint "PATHEXT: $0"
ExpandEnvStrings $0 "%SESSIONNAME%"
Detailprint "SESSIONNAME: $0"
DetailPrint "-----------------"
ExpandEnvStrings $0 "%NUMBER_OF_PROCESSORS%"
Detailprint "NUMBER_OF_PROCESSORS: $0"
ExpandEnvStrings $0 "%PROCESSOR_IDENTIFIER%"
Detailprint "PROCESSOR_IDENTIFIER: $0"
ExpandEnvStrings $0 "%PROCESSOR_ARCHITECTURE%"
Detailprint "PROCESSOR_ARCHITECTURE: $0"
ExpandEnvStrings $0 "%PROCESSOR_LEVEL%"
Detailprint "PROCESSOR_LEVEL: $0"
ExpandEnvStrings $0 "%PROCESSOR_REVISION%"
Detailprint "PROCESSOR_REVISION: $0"
DetailPrint "-----------------"
SectionEnd