diff options
Diffstat (limited to 'src/engine/msiengine.cpp')
-rw-r--r-- | src/engine/msiengine.cpp | 14 |
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 | // |
875 | extern "C" HRESULT MsiEnginePlanAddPackage( | 875 | extern "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 | ||
1418 | extern "C" HRESULT MsiEngineCalculateInstallUiLevel( | 1419 | extern "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: |