aboutsummaryrefslogtreecommitdiff
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.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/burn/engine/msiengine.cpp b/src/burn/engine/msiengine.cpp
index 68582d29..9dd2312e 100644
--- a/src/burn/engine/msiengine.cpp
+++ b/src/burn/engine/msiengine.cpp
@@ -912,7 +912,7 @@ extern "C" HRESULT MsiEnginePlanCalculatePackage(
912 } 912 }
913 } 913 }
914 else if ((BOOTSTRAPPER_REQUEST_STATE_ABSENT == pPackage->requested || BOOTSTRAPPER_REQUEST_STATE_CACHE == pPackage->requested) && 914 else if ((BOOTSTRAPPER_REQUEST_STATE_ABSENT == pPackage->requested || BOOTSTRAPPER_REQUEST_STATE_CACHE == pPackage->requested) &&
915 pPackage->fUninstallable) // removing a package that can be removed. 915 !pPackage->fPermanent) // removing a package that should be removed.
916 { 916 {
917 execute = BOOTSTRAPPER_ACTION_STATE_UNINSTALL; 917 execute = BOOTSTRAPPER_ACTION_STATE_UNINSTALL;
918 } 918 }
@@ -973,9 +973,9 @@ extern "C" HRESULT MsiEnginePlanCalculatePackage(
973 973
974 case BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE: __fallthrough; 974 case BOOTSTRAPPER_PACKAGE_STATE_OBSOLETE: __fallthrough;
975 case BOOTSTRAPPER_PACKAGE_STATE_ABSENT: __fallthrough; 975 case BOOTSTRAPPER_PACKAGE_STATE_ABSENT: __fallthrough;
976 // If the package is uninstallable and we requested to put the package on the machine then 976 // If the package is not permanent and we requested to put the package on the machine then
977 // remove the package during rollback. 977 // remove the package during rollback.
978 if (pPackage->fUninstallable && 978 if (!pPackage->fPermanent &&
979 (BOOTSTRAPPER_REQUEST_STATE_PRESENT == pPackage->requested || 979 (BOOTSTRAPPER_REQUEST_STATE_PRESENT == pPackage->requested ||
980 BOOTSTRAPPER_REQUEST_STATE_REPAIR == pPackage->requested)) 980 BOOTSTRAPPER_REQUEST_STATE_REPAIR == pPackage->requested))
981 { 981 {