diff options
Diffstat (limited to 'src/engine/detect.cpp')
| -rw-r--r-- | src/engine/detect.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/engine/detect.cpp b/src/engine/detect.cpp index 74e8b9ca..8ca74986 100644 --- a/src/engine/detect.cpp +++ b/src/engine/detect.cpp | |||
| @@ -143,13 +143,16 @@ extern "C" HRESULT DetectForwardCompatibleBundles( | |||
| 143 | 143 | ||
| 144 | if (nCompareResult <= 0) | 144 | if (nCompareResult <= 0) |
| 145 | { | 145 | { |
| 146 | pRelatedBundle->fForwardCompatible = TRUE; | 146 | if (pRelatedBundle->fPlannable) |
| 147 | pRegistration->fForwardCompatibleBundleExists = TRUE; | 147 | { |
| 148 | pRelatedBundle->fForwardCompatible = TRUE; | ||
| 149 | pRegistration->fForwardCompatibleBundleExists = TRUE; | ||
| 150 | } | ||
| 148 | 151 | ||
| 149 | hr = UserExperienceOnDetectForwardCompatibleBundle(pUX, pRelatedBundle->package.sczId, pRelatedBundle->relationType, pRelatedBundle->sczTag, pRelatedBundle->package.fPerMachine, pRelatedBundle->pVersion); | 152 | hr = UserExperienceOnDetectForwardCompatibleBundle(pUX, pRelatedBundle->package.sczId, pRelatedBundle->relationType, pRelatedBundle->sczTag, pRelatedBundle->package.fPerMachine, pRelatedBundle->pVersion, BURN_CACHE_STATE_COMPLETE != pRelatedBundle->package.cache); |
| 150 | ExitOnRootFailure(hr, "BA aborted detect forward compatible bundle."); | 153 | ExitOnRootFailure(hr, "BA aborted detect forward compatible bundle."); |
| 151 | 154 | ||
| 152 | LogId(REPORT_STANDARD, MSG_DETECTED_FORWARD_COMPATIBLE_BUNDLE, pRelatedBundle->package.sczId, LoggingRelationTypeToString(pRelatedBundle->relationType), LoggingPerMachineToString(pRelatedBundle->package.fPerMachine), pRelatedBundle->pVersion->sczVersion); | 155 | LogId(REPORT_STANDARD, MSG_DETECTED_FORWARD_COMPATIBLE_BUNDLE, pRelatedBundle->package.sczId, LoggingRelationTypeToString(pRelatedBundle->relationType), LoggingPerMachineToString(pRelatedBundle->package.fPerMachine), pRelatedBundle->pVersion->sczVersion, LoggingCacheStateToString(pRelatedBundle->package.cache)); |
| 153 | } | 156 | } |
| 154 | } | 157 | } |
| 155 | } | 158 | } |
| @@ -222,13 +225,13 @@ extern "C" HRESULT DetectReportRelatedBundles( | |||
| 222 | break; | 225 | break; |
| 223 | } | 226 | } |
| 224 | 227 | ||
| 225 | LogId(REPORT_STANDARD, MSG_DETECTED_RELATED_BUNDLE, pRelatedBundle->package.sczId, LoggingRelationTypeToString(pRelatedBundle->relationType), LoggingPerMachineToString(pRelatedBundle->package.fPerMachine), pRelatedBundle->pVersion->sczVersion, LoggingRelatedOperationToString(operation)); | 228 | LogId(REPORT_STANDARD, MSG_DETECTED_RELATED_BUNDLE, pRelatedBundle->package.sczId, LoggingRelationTypeToString(pRelatedBundle->relationType), LoggingPerMachineToString(pRelatedBundle->package.fPerMachine), pRelatedBundle->pVersion->sczVersion, LoggingRelatedOperationToString(operation), LoggingCacheStateToString(pRelatedBundle->package.cache)); |
| 226 | 229 | ||
| 227 | hr = UserExperienceOnDetectRelatedBundle(pUX, pRelatedBundle->package.sczId, pRelatedBundle->relationType, pRelatedBundle->sczTag, pRelatedBundle->package.fPerMachine, pRelatedBundle->pVersion, operation); | 230 | hr = UserExperienceOnDetectRelatedBundle(pUX, pRelatedBundle->package.sczId, pRelatedBundle->relationType, pRelatedBundle->sczTag, pRelatedBundle->package.fPerMachine, pRelatedBundle->pVersion, operation, BURN_CACHE_STATE_COMPLETE != pRelatedBundle->package.cache); |
| 228 | ExitOnRootFailure(hr, "BA aborted detect related bundle."); | 231 | ExitOnRootFailure(hr, "BA aborted detect related bundle."); |
| 229 | 232 | ||
| 230 | // For now, if any related bundles will be executed during uninstall by default then never automatically clean up the bundle. | 233 | // For now, if any related bundles will be executed during uninstall by default then never automatically clean up the bundle. |
| 231 | if (*pfEligibleForCleanup) | 234 | if (*pfEligibleForCleanup && pRelatedBundle->fPlannable) |
| 232 | { | 235 | { |
| 233 | uninstallRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE; | 236 | uninstallRequestState = BOOTSTRAPPER_REQUEST_STATE_NONE; |
| 234 | hr = PlanDefaultRelatedBundleRequestState(relationType, pRelatedBundle->relationType, BOOTSTRAPPER_ACTION_UNINSTALL, pRegistration->pVersion, pRelatedBundle->pVersion, &uninstallRequestState); | 237 | hr = PlanDefaultRelatedBundleRequestState(relationType, pRelatedBundle->relationType, BOOTSTRAPPER_ACTION_UNINSTALL, pRegistration->pVersion, pRelatedBundle->pVersion, &uninstallRequestState); |
