summaryrefslogtreecommitdiff
path: root/src/burn/engine/msiengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/msiengine.cpp')
-rw-r--r--src/burn/engine/msiengine.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/burn/engine/msiengine.cpp b/src/burn/engine/msiengine.cpp
index fec995e0..32b6660e 100644
--- a/src/burn/engine/msiengine.cpp
+++ b/src/burn/engine/msiengine.cpp
@@ -904,7 +904,7 @@ extern "C" HRESULT MsiEnginePlanCalculatePackage(
904 else if ((BOOTSTRAPPER_REQUEST_STATE_ABSENT == pPackage->requested || BOOTSTRAPPER_REQUEST_STATE_CACHE == pPackage->requested) && 904 else if ((BOOTSTRAPPER_REQUEST_STATE_ABSENT == pPackage->requested || BOOTSTRAPPER_REQUEST_STATE_CACHE == pPackage->requested) &&
905 !pPackage->fPermanent) // removing a package that should be removed. 905 !pPackage->fPermanent) // removing a package that should be removed.
906 { 906 {
907 execute = BOOTSTRAPPER_ACTION_STATE_UNINSTALL; 907 execute = BOOTSTRAPPER_PACKAGE_STATE_SUPERSEDED == pPackage->currentState ? BOOTSTRAPPER_ACTION_STATE_NONE : BOOTSTRAPPER_ACTION_STATE_UNINSTALL;
908 } 908 }
909 else if (BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT == pPackage->requested) 909 else if (BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT == pPackage->requested)
910 { 910 {
@@ -968,9 +968,10 @@ extern "C" HRESULT MsiEnginePlanCalculatePackage(
968 case BOOTSTRAPPER_REQUEST_STATE_REPAIR: 968 case BOOTSTRAPPER_REQUEST_STATE_REPAIR:
969 rollback = BOOTSTRAPPER_ACTION_STATE_NONE; 969 rollback = BOOTSTRAPPER_ACTION_STATE_NONE;
970 break; 970 break;
971 case BOOTSTRAPPER_REQUEST_STATE_CACHE: __fallthrough;
971 case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: __fallthrough; 972 case BOOTSTRAPPER_REQUEST_STATE_FORCE_ABSENT: __fallthrough;
972 case BOOTSTRAPPER_REQUEST_STATE_ABSENT: 973 case BOOTSTRAPPER_REQUEST_STATE_ABSENT:
973 rollback = BOOTSTRAPPER_ACTION_STATE_INSTALL; 974 rollback = BOOTSTRAPPER_ACTION_STATE_UNINSTALL == execute ? BOOTSTRAPPER_ACTION_STATE_INSTALL : BOOTSTRAPPER_ACTION_STATE_NONE;
974 break; 975 break;
975 default: 976 default:
976 rollback = BOOTSTRAPPER_ACTION_STATE_NONE; 977 rollback = BOOTSTRAPPER_ACTION_STATE_NONE;