aboutsummaryrefslogtreecommitdiff
path: root/src/engine/msiengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/msiengine.cpp')
-rw-r--r--src/engine/msiengine.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/engine/msiengine.cpp b/src/engine/msiengine.cpp
index 3f89dde9..8b8121c1 100644
--- a/src/engine/msiengine.cpp
+++ b/src/engine/msiengine.cpp
@@ -873,6 +873,7 @@ LExit:
873// PlanAdd - adds the calculated execute and rollback actions for the package. 873// PlanAdd - adds the calculated execute and rollback actions for the package.
874// 874//
875extern "C" HRESULT MsiEnginePlanAddPackage( 875extern "C" HRESULT MsiEnginePlanAddPackage(
876 __in BOOTSTRAPPER_DISPLAY display,
876 __in BURN_USER_EXPERIENCE* pUserExperience, 877 __in BURN_USER_EXPERIENCE* pUserExperience,
877 __in BURN_PACKAGE* pPackage, 878 __in BURN_PACKAGE* pPackage,
878 __in BURN_PLAN* pPlan, 879 __in BURN_PLAN* pPlan,
@@ -928,7 +929,7 @@ extern "C" HRESULT MsiEnginePlanAddPackage(
928 pAction->msiPackage.rgFeatures = rgRollbackFeatureActions; 929 pAction->msiPackage.rgFeatures = rgRollbackFeatureActions;
929 rgRollbackFeatureActions = NULL; 930 rgRollbackFeatureActions = NULL;
930 931
931 hr = MsiEngineCalculateInstallUiLevel(pUserExperience, pPackage->sczId, FALSE, pAction->msiPackage.action, 932 hr = MsiEngineCalculateInstallUiLevel(display, pUserExperience, pPackage->sczId, FALSE, pAction->msiPackage.action,
932 &pAction->msiPackage.actionMsiProperty, &pAction->msiPackage.uiLevel, &pAction->msiPackage.fDisableExternalUiHandler); 933 &pAction->msiPackage.actionMsiProperty, &pAction->msiPackage.uiLevel, &pAction->msiPackage.fDisableExternalUiHandler);
933 ExitOnFailure(hr, "Failed to get msi ui options."); 934 ExitOnFailure(hr, "Failed to get msi ui options.");
934 935
@@ -954,7 +955,7 @@ extern "C" HRESULT MsiEnginePlanAddPackage(
954 pAction->msiPackage.rgFeatures = rgFeatureActions; 955 pAction->msiPackage.rgFeatures = rgFeatureActions;
955 rgFeatureActions = NULL; 956 rgFeatureActions = NULL;
956 957
957 hr = MsiEngineCalculateInstallUiLevel(pUserExperience, pPackage->sczId, TRUE, pAction->msiPackage.action, 958 hr = MsiEngineCalculateInstallUiLevel(display, pUserExperience, pPackage->sczId, TRUE, pAction->msiPackage.action,
958 &pAction->msiPackage.actionMsiProperty, &pAction->msiPackage.uiLevel, &pAction->msiPackage.fDisableExternalUiHandler); 959 &pAction->msiPackage.actionMsiProperty, &pAction->msiPackage.uiLevel, &pAction->msiPackage.fDisableExternalUiHandler);
959 ExitOnFailure(hr, "Failed to get msi ui options."); 960 ExitOnFailure(hr, "Failed to get msi ui options.");
960 961
@@ -1416,6 +1417,7 @@ LExit:
1416} 1417}
1417 1418
1418extern "C" HRESULT MsiEngineCalculateInstallUiLevel( 1419extern "C" HRESULT MsiEngineCalculateInstallUiLevel(
1420 __in BOOTSTRAPPER_DISPLAY display,
1419 __in BURN_USER_EXPERIENCE* pUserExperience, 1421 __in BURN_USER_EXPERIENCE* pUserExperience,
1420 __in LPCWSTR wzPackageId, 1422 __in LPCWSTR wzPackageId,
1421 __in BOOL fExecute, 1423 __in BOOL fExecute,
@@ -1425,9 +1427,15 @@ extern "C" HRESULT MsiEngineCalculateInstallUiLevel(
1425 __out BOOL* pfDisableExternalUiHandler 1427 __out BOOL* pfDisableExternalUiHandler
1426 ) 1428 )
1427{ 1429{
1428 *pUiLevel = static_cast<INSTALLUILEVEL>(INSTALLUILEVEL_NONE | INSTALLUILEVEL_SOURCERESONLY); 1430 *pUiLevel = INSTALLUILEVEL_NONE;
1429 *pfDisableExternalUiHandler = FALSE; 1431 *pfDisableExternalUiHandler = FALSE;
1430 1432
1433 if (BOOTSTRAPPER_DISPLAY_FULL == display ||
1434 BOOTSTRAPPER_DISPLAY_PASSIVE == display)
1435 {
1436 *pUiLevel = static_cast<INSTALLUILEVEL>(*pUiLevel | INSTALLUILEVEL_SOURCERESONLY);
1437 }
1438
1431 switch (actionState) 1439 switch (actionState)
1432 { 1440 {
1433 case BOOTSTRAPPER_ACTION_STATE_UNINSTALL: 1441 case BOOTSTRAPPER_ACTION_STATE_UNINSTALL: