Обучающие программы NSIS, которые я нашел, помещают 64-битную логику установщика в функцию .onInit
, которая вызывается автоматически при запуске установки.
Логически, можно попытаться вызвать ее вручную при удалениираздел через Call .onInit
, но компиляция NSIS не удастся, потому что имя функции не начинается с un.
.
Так что, логически, если вы создаете un.onInit
, он должен "Просто работать".И это так.
Function un.onInit
${If} ${RunningX64}
; Comment out this next line in production environment
MessageBox MB_OK "This is a 64-bit os, applying work-arounds"
SetRegView 64
StrCpy $INSTDIR "$PROGRAMFILES64\My FooBar Application"
${EndIf}
FunctionEnd
... и если вам интересно "Зачем создавать дублирующую функцию?", Правильный ответ на этот вопрос будет здесь ...