aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/core.cpp')
-rw-r--r--src/burn/engine/core.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp
index 43f79133..9d4ea43e 100644
--- a/src/burn/engine/core.cpp
+++ b/src/burn/engine/core.cpp
@@ -449,11 +449,11 @@ extern "C" HRESULT CorePlan(
449 449
450 if (!pEngineState->fDetected) 450 if (!pEngineState->fDetected)
451 { 451 {
452 ExitOnFailure(hr = E_INVALIDSTATE, "Plan cannot be done without a successful Detect."); 452 ExitWithRootFailure(hr, E_INVALIDSTATE, "Plan cannot be done without a successful Detect.");
453 } 453 }
454 else if (pEngineState->plan.fAffectedMachineState) 454 else if (pEngineState->plan.fAffectedMachineState)
455 { 455 {
456 ExitOnFailure(hr = E_INVALIDSTATE, "Plan requires a new successful Detect after calling Apply."); 456 ExitWithRootFailure(hr, E_INVALIDSTATE, "Plan requires a new successful Detect after calling Apply.");
457 } 457 }
458 458
459 // Always reset the plan. 459 // Always reset the plan.
@@ -482,6 +482,9 @@ extern "C" HRESULT CorePlan(
482 hr = DependencyPlanInitialize(&pEngineState->dependencies, &pEngineState->plan); 482 hr = DependencyPlanInitialize(&pEngineState->dependencies, &pEngineState->plan);
483 ExitOnFailure(hr, "Failed to initialize the dependencies for the plan."); 483 ExitOnFailure(hr, "Failed to initialize the dependencies for the plan.");
484 484
485 hr = RegistrationPlanInitialize(&pEngineState->registration);
486 ExitOnFailure(hr, "Failed to initialize registration for the plan.");
487
485 if (BOOTSTRAPPER_ACTION_LAYOUT == action) 488 if (BOOTSTRAPPER_ACTION_LAYOUT == action)
486 { 489 {
487 Assert(!pEngineState->plan.fPerMachine); 490 Assert(!pEngineState->plan.fPerMachine);
@@ -521,6 +524,9 @@ extern "C" HRESULT CorePlan(
521 { 524 {
522 pEngineState->plan.fPerMachine = pEngineState->registration.fPerMachine; // default the scope of the plan to the per-machine state of the bundle. 525 pEngineState->plan.fPerMachine = pEngineState->registration.fPerMachine; // default the scope of the plan to the per-machine state of the bundle.
523 526
527 hr = PlanRelatedBundlesInitialize(&pEngineState->userExperience, &pEngineState->registration, pEngineState->command.relationType, &pEngineState->plan);
528 ExitOnFailure(hr, "Failed to initialize related bundles for plan.");
529
524 hr = PlanRegistration(&pEngineState->plan, &pEngineState->registration, &pEngineState->dependencies, pEngineState->command.resumeType, pEngineState->command.relationType, &fContinuePlanning); 530 hr = PlanRegistration(&pEngineState->plan, &pEngineState->registration, &pEngineState->dependencies, pEngineState->command.resumeType, pEngineState->command.relationType, &fContinuePlanning);
525 ExitOnFailure(hr, "Failed to plan registration."); 531 ExitOnFailure(hr, "Failed to plan registration.");
526 532
@@ -918,8 +924,8 @@ extern "C" LPCWSTR CoreRelationTypeToCommandLineString(
918 case BOOTSTRAPPER_RELATION_UPDATE: 924 case BOOTSTRAPPER_RELATION_UPDATE:
919 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_UPDATE; 925 wzRelationTypeCommandLine = BURN_COMMANDLINE_SWITCH_RELATED_UPDATE;
920 break; 926 break;
921 case BOOTSTRAPPER_RELATION_DEPENDENT: 927 case BOOTSTRAPPER_RELATION_DEPENDENT_ADDON: __fallthrough;
922 break; 928 case BOOTSTRAPPER_RELATION_DEPENDENT_PATCH: __fallthrough;
923 case BOOTSTRAPPER_RELATION_NONE: __fallthrough; 929 case BOOTSTRAPPER_RELATION_NONE: __fallthrough;
924 default: 930 default:
925 wzRelationTypeCommandLine = NULL; 931 wzRelationTypeCommandLine = NULL;
@@ -2308,7 +2314,7 @@ static void LogRelatedBundles(
2308 2314
2309 if (pRelatedBundle->fPlannable) 2315 if (pRelatedBundle->fPlannable)
2310 { 2316 {
2311 LogId(REPORT_STANDARD, MSG_PLANNED_RELATED_BUNDLE, pPackage->sczId, LoggingRelationTypeToString(pRelatedBundle->relationType), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingRequestStateToString(pRelatedBundle->defaultRequestedRestore), LoggingRequestStateToString(pRelatedBundle->requestedRestore), LoggingActionStateToString(pRelatedBundle->restore), LoggingDependencyActionToString(pPackage->dependencyExecute)); 2317 LogId(REPORT_STANDARD, MSG_PLANNED_RELATED_BUNDLE, pPackage->sczId, LoggingRelationTypeToString(pRelatedBundle->detectRelationType), LoggingPlanRelationTypeToString(pRelatedBundle->defaultPlanRelationType), LoggingPlanRelationTypeToString(pRelatedBundle->planRelationType), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingRequestStateToString(pRelatedBundle->defaultRequestedRestore), LoggingRequestStateToString(pRelatedBundle->requestedRestore), LoggingActionStateToString(pRelatedBundle->restore), LoggingDependencyActionToString(pPackage->dependencyExecute));
2312 } 2318 }
2313 } 2319 }
2314 } 2320 }