Commit c98290b9 authored by Steve Dower's avatar Steve Dower

Fixes UI labels and ability to add/remove features.

parent 102f72cf
...@@ -723,6 +723,11 @@ public: // IBootstrapperApplication ...@@ -723,6 +723,11 @@ public: // IBootstrapperApplication
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Skipping package: %ls, after restart because it was applied before the restart.", wzPackageId); BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "Skipping package: %ls, after restart because it was applied before the restart.", wzPackageId);
*pRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE; *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 @@ private: ...@@ -1233,10 +1238,11 @@ private:
hr = LoadBootstrapperBAFunctions(); hr = LoadBootstrapperBAFunctions();
BalExitOnFailure(hr, "Failed to load bootstrapper functions."); BalExitOnFailure(hr, "Failed to load bootstrapper functions.");
hr = UpdateUIStrings(_command.action);
BalExitOnFailure(hr, "Failed to load UI strings.");
GetBundleFileVersion(); GetBundleFileVersion();
// don't fail if we couldn't get the version info; best-effort only // don't fail if we couldn't get the version info; best-effort only
LExit: LExit:
ReleaseObject(pixdManifest); ReleaseObject(pixdManifest);
ReleaseStr(sczModulePath); ReleaseStr(sczModulePath);
...@@ -1835,18 +1841,10 @@ private: ...@@ -1835,18 +1841,10 @@ private:
return; return;
} }
HRESULT UpdateUIStrings(__in BOOTSTRAPPER_ACTION action) {
//
// OnPlan - plan the detected changes.
//
void OnPlan(__in BOOTSTRAPPER_ACTION action) {
HRESULT hr = S_OK; HRESULT hr = S_OK;
LPCWSTR likeInstalling = nullptr; LPCWSTR likeInstalling = nullptr;
LPCWSTR likeInstallation = nullptr; LPCWSTR likeInstallation = nullptr;
_plannedAction = action;
switch (action) { switch (action) {
case BOOTSTRAPPER_ACTION_INSTALL: case BOOTSTRAPPER_ACTION_INSTALL:
likeInstalling = L"Installing"; likeInstalling = L"Installing";
...@@ -1895,6 +1893,19 @@ private: ...@@ -1895,6 +1893,19 @@ private:
SUCCEEDED(hr) && locText ? locText->wzText : likeInstallation 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 we are going to apply a downgrade, bail.
if (_downgrading && BOOTSTRAPPER_ACTION_UNINSTALL < action) { if (_downgrading && BOOTSTRAPPER_ACTION_UNINSTALL < action) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment