!include installer.nshInitPluginsDir${IfNot} ${Silent}SetDetailsPrint none${endif}StrCpy $appExe "$INSTDIR\${APP_EXECUTABLE_FILENAME}"# must be called before uninstallOldVersion!insertmacro setLinkVars!ifdef ONE_CLICK!ifdef HEADER_ICOFile /oname=$PLUGINSDIR\installerHeaderico.ico "${HEADER_ICO}"!endif${IfNot} ${Silent}!ifdef HEADER_ICOSpiderBanner::Show /MODERN /ICON "$PLUGINSDIR\installerHeaderico.ico"!elseSpiderBanner::Show /MODERN!endifFindWindow $0 "#32770" "" $hwndparentFindWindow $0 "#32770" "" $hwndparent $0GetDlgItem $0 $0 1000SendMessage $0 ${WM_SETTEXT} 0 "STR:$(installing)"StrCpy $1 $hwndparentSystem::Call 'user32::ShutdownBlockReasonCreate(${SYSTYPE_PTR}r1, w "$(installing)")'${endif}!insertmacro CHECK_APP_RUNNING!else${ifNot} ${UAC_IsInnerInstance}!insertmacro CHECK_APP_RUNNING${endif}!endifVar /GLOBAL keepShortcutsStrCpy $keepShortcuts "false"!insertMacro setIsTryToKeepShortcuts${if} $isTryToKeepShortcuts == "true"ReadRegStr $R1 SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" KeepShortcuts${if} $R1 == "true"${andIf} ${FileExists} "$appExe"StrCpy $keepShortcuts "true"${endIf}${endif}!insertmacro uninstallOldVersion SHELL_CONTEXT!insertmacro handleUninstallResult SHELL_CONTEXT${if} $installMode == "all"!insertmacro uninstallOldVersion HKEY_CURRENT_USER!insertmacro handleUninstallResult HKEY_CURRENT_USER${endIf}SetOutPath $INSTDIR!ifdef UNINSTALLER_ICONFile /oname=uninstallerIcon.ico "${UNINSTALLER_ICON}"!endif!insertmacro installApplicationFiles!insertmacro registryAddInstallInfo!insertmacro addStartMenuLink $keepShortcuts!insertmacro addDesktopLink $keepShortcuts${if} ${FileExists} "$newStartMenuLink"StrCpy $launchLink "$newStartMenuLink"${else}StrCpy $launchLink "$INSTDIR\${APP_EXECUTABLE_FILENAME}"${endIf}!ifmacrodef registerFileAssociations!insertmacro registerFileAssociations!endif!ifmacrodef customInstall!insertmacro customInstall!endif!macro doStartApp# otherwise app window will be in backgroundHideWindow!insertmacro StartApp!macroend!ifdef ONE_CLICK# https://github.com/electron-userland/electron-builder/pull/3093#issuecomment-403734568!ifdef RUN_AFTER_FINISH${ifNot} ${Silent}${orIf} ${isForceRun}!insertmacro doStartApp${endIf}!else${if} ${isForceRun}!insertmacro doStartApp${endIf}!endif!insertmacro quitSuccess!else# for assisted installer run only if silent, because assisted installer has run after finish option${if} ${isForceRun}${andIf} ${Silent}!insertmacro doStartApp${endIf}!endif