diff --git a/build/conf/nsis/idea.nsi b/build/conf/nsis/idea.nsi index b31cc330c1e1..6a081970cd2d 100644 --- a/build/conf/nsis/idea.nsi +++ b/build/conf/nsis/idea.nsi @@ -742,9 +742,9 @@ Function uninstallOldVersion CopyFiles "$3\bin\Uninstall.exe" "$LOCALAPPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" ${If} $9 == "1" - ExecWait '"$LOCALAPPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" /S _?=$3\bin' + ExecWait '"$LOCALAPPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" /S /NO_UNINSTALL_FEEDBACK=true _?=$3\bin' ${else} - ExecWait '"$LOCALAPPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" _?=$3\bin' + ExecWait '"$LOCALAPPDATA\${PRODUCT_PATHS_SELECTOR}_${VER_BUILD}_Uninstall.exe" /NO_UNINSTALL_FEEDBACK=true _?=$3\bin' ${EndIf} IfFileExists $3\bin\${PRODUCT_EXE_FILE} 0 uninstall goto complete @@ -1511,7 +1511,26 @@ Function un.onUninstSuccess FunctionEnd +Function un.UninstallFeedback +; do not ask user about UNINSTALL FEEDBACK if uninstallation was run from another installation + Push $R0 + Push $R1 + ${GetParameters} $R0 + ClearErrors + ${GetOptions} $R0 /NO_UNINSTALL_FEEDBACK= $R1 + IfErrors done + !insertmacro INSTALLOPTIONS_WRITE "DeleteSettings.ini" "Field 6" "State" "0" +done: + Pop $R1 + Pop $R0 + ClearErrors +FunctionEnd + + Function un.onInit + !insertmacro INSTALLOPTIONS_EXTRACT "DeleteSettings.ini" + Call un.UninstallFeedback + ; Uninstallation was run from installation dir? IfFileExists "$INSTDIR\IdeaWin32.dll" 0 end_of_uninstall IfFileExists "$INSTDIR\IdeaWin64.dll" 0 end_of_uninstall @@ -1578,7 +1597,6 @@ end_of_uninstall: Abort UAC_Done: !insertmacro MUI_UNGETLANGUAGE - !insertmacro INSTALLOPTIONS_EXTRACT "DeleteSettings.ini" FunctionEnd