[Python-checkins] cpython: Fixes UI labels and ability to add/remove features.

steve.dower python-checkins at python.org
Wed Mar 25 07:21:17 CET 2015


https://hg.python.org/cpython/rev/755aeac3f788
changeset: 95196:755aeac3f788
user: Steve Dower <steve.dower at microsoft.com>
date: Tue Mar 24 23:20:57 2015 -0700
summary:
 Fixes UI labels and ability to add/remove features.
files:
 Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp | 31 ++++++---
 1 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp b/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp
--- a/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp
+++ b/Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp
@@ -723,6 +723,11 @@
 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Skipping package: %ls, after restart because it was applied before the restart.", wzPackageId);
 
 *pRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE;
+ } else if ((_plannedAction == BOOTSTRAPPER_ACTION_INSTALL || _plannedAction == BOOTSTRAPPER_ACTION_MODIFY) &&
+ SUCCEEDED(BalInfoFindPackageById(&_bundle.packages, wzPackageId, &pPackage))) {
+ BOOL f = FALSE;
+ if (SUCCEEDED(_engine->EvaluateCondition(pPackage->sczInstallCondition, &f)) && f) {
+ *pRequestState = BOOTSTRAPPER_REQUEST_STATE_PRESENT;
 }
 }
 
@@ -1233,10 +1238,11 @@
 
 hr = LoadBootstrapperBAFunctions();
 BalExitOnFailure(hr, "Failed to load bootstrapper functions.");
+ hr = UpdateUIStrings(_command.action);
+ BalExitOnFailure(hr, "Failed to load UI strings.");
 
 GetBundleFileVersion();
 // don't fail if we couldn't get the version info; best-effort only
-
 LExit:
 ReleaseObject(pixdManifest);
 ReleaseStr(sczModulePath);
@@ -1835,18 +1841,10 @@
 
 return;
 }
-
-
- //
- // OnPlan - plan the detected changes.
- //
- void OnPlan(__in BOOTSTRAPPER_ACTION action) {
+ HRESULT UpdateUIStrings(__in BOOTSTRAPPER_ACTION action) {
 HRESULT hr = S_OK;
 LPCWSTR likeInstalling = nullptr;
 LPCWSTR likeInstallation = nullptr;
-
- _plannedAction = action;
-
 switch (action) {
 case BOOTSTRAPPER_ACTION_INSTALL:
 likeInstalling = L"Installing";
@@ -1895,6 +1893,19 @@
 SUCCEEDED(hr) && locText ? locText->wzText : likeInstallation
 );
 }
+ return hr;
+ }
+
+ //
+ // OnPlan - plan the detected changes.
+ //
+ void OnPlan(__in BOOTSTRAPPER_ACTION action) {
+ HRESULT hr = S_OK;
+
+ _plannedAction = action;
+
+ hr = UpdateUIStrings(action);
+ BalExitOnFailure(hr, "Failed to update strings");
 
 // If we are going to apply a downgrade, bail.
 if (_downgrading && BOOTSTRAPPER_ACTION_UNINSTALL < action) {
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /