From 44fe401aa3afbb1173c1ca5aff18fc6c2efe8238 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Tue, 22 Sep 2015 16:36:33 -0700 Subject: [PATCH] Issue #25081: Makes Back button in installer go back to upgrade page when upgrading. --- Misc/NEWS | 3 +++ Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/Misc/NEWS b/Misc/NEWS index 5440470ba18..2ed64911724 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -150,6 +150,9 @@ Build Windows ------- +- Issue #25081: Makes Back button in installer go back to upgrade page when + upgrading. + - Issue #25091: Increases font size of the installer. - Issue #25126: Clarifies that the non-web installer will download some diff --git a/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp b/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp index 35ed2fe73be..99884e4c9aa 100644 --- a/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp +++ b/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp @@ -323,6 +323,8 @@ class PythonBootstrapperApplication : public CBalBaseBootstrapperApplication { SavePageSettings(); if (_modifying) { GoToPage(PAGE_MODIFY); + } else if (_upgrading) { + GoToPage(PAGE_UPGRADE); } else { GoToPage(PAGE_INSTALL); } @@ -2524,6 +2526,7 @@ private: case BOOTSTRAPPER_ACTION_INSTALL: if (_upgradingOldVersion) { _installPage = PAGE_UPGRADE; + _upgrading = TRUE; } else if (SUCCEEDED(BalGetNumericVariable(L"SimpleInstall", &simple)) && simple) { _installPage = PAGE_SIMPLE_INSTALL; } else { @@ -3029,6 +3032,7 @@ public: _suppressDowngradeFailure = FALSE; _suppressRepair = FALSE; _modifying = FALSE; + _upgrading = FALSE; _overridableVariables = nullptr; _taskbarList = nullptr; @@ -3113,6 +3117,7 @@ private: BOOL _suppressDowngradeFailure; BOOL _suppressRepair; BOOL _modifying; + BOOL _upgrading; int _crtInstalledToken;