Если речь идёт о инсталляторе с графическим интерфейсом, то последняя функция, которая будет выполнена - функция с именем
.onGUIEnd, она будет выполнена в любом случае и всегда самой последней, если, конечно, инсталлер закрывается штатно без краша и убития процесса, и если процесс установки не запущен с ключом
/S (тихая установка)
Код:
Function .onGUIEnd
MessageBox MB_OK|MB_ICONINFORMATION ".onGUIEnd"
FunctionEnd
Если речь идёт о инсталляторе с графическим интерфейсом, который запущен с ключом "
/S" (тихая установка без графического интерфейса), то последней функцией, которая будет выполнена - будет функция
.onInstSuccess
Можно поступить разными способами, тут только вопрос о том, какой функционал вам нужен и зачем вам последняя выполняемая функция
Можете прописать команды в
.onInstSuccess - будет выполняться всегда при всех условиях, только посмотрите сами, как она будет отрабабывать
Можете добавить в эту функцию проверку на запуск с ключом "
/S", чтобы, например, всегда выполнялась
.onGUIEnd даже при тихой установки:
Код:
Function .onInstSuccess
# MessageBox MB_OK ".onInstSuccess"
${GetParameters} $R0
${GetOptions} "$R0" "/S" $R0
IfErrors +2 0
call .onGUIEnd
FunctionEnd
Function .onGUIEnd
MessageBox MB_OK|MB_ICONINFORMATION ".onGUIEnd"
FunctionEnd
Для использования в коде команд из примера, нужно прописать в начале кода
!include "FileFunc.nsh"
В общем, тестируйте, смотрите, что вам больше подходит
Если речь идёт о silent архиве без графического интерфейса в коде изначально - то там вы уже сами можете определить, какую функцию выполнять последней перед командой
quit (закрытие инсталлятора)