Цитата Begin2Fly:
wolkow70, а если пойти другим путём и вместо проверки самого ключа посмотреть на то, за что он отвечает?
То есть в данном случае за смену папки установки, поэтому, как вариант: »
|
Примерно по такому пути пока и пошел. Сделал примерно так:
Var CmdInstallDirectory
InstallDir "$INSTDIR"
Function .OnInit
StrCpy $CmdInstallDirectory "$INSTDIR"
;
здесь разный код, в том числе переназначение $INSTDIR по нужным условиям
;
${If} "$CmdInstallDirectory" == ""
${Else}
StrCpy "$INSTDIR" "$CmdInstallDirectory"
${EndIf}
FunctionEnd
Получается, что если нет ключа /D= , то $INSTDIR меняется в функции, а если ключ /D= присутствует, то значение $INSTDIR восстанавливается в конце функции из ключа /D=.