diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-02-18 10:44:49 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-02-22 20:25:06 -0600 |
commit | b29af5d005c2cc802aa60a123d435042038ba8ef (patch) | |
tree | cb86e61b6abb327f8e1ebc33162acfca28bb89e9 /src/engine/core.cpp | |
parent | dbd55be5e707f07eb044c8c7f13c3dfd246148c0 (diff) | |
download | wix-b29af5d005c2cc802aa60a123d435042038ba8ef.tar.gz wix-b29af5d005c2cc802aa60a123d435042038ba8ef.tar.bz2 wix-b29af5d005c2cc802aa60a123d435042038ba8ef.zip |
Get all request states up front before building the plan.
Diffstat (limited to 'src/engine/core.cpp')
-rw-r--r-- | src/engine/core.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/engine/core.cpp b/src/engine/core.cpp index b90d4b92..b68681fb 100644 --- a/src/engine/core.cpp +++ b/src/engine/core.cpp | |||
@@ -490,7 +490,7 @@ extern "C" HRESULT CorePlan( | |||
490 | ExitOnFailure(hr, "Failed to plan the layout of the bundle."); | 490 | ExitOnFailure(hr, "Failed to plan the layout of the bundle."); |
491 | 491 | ||
492 | // Plan the packages' layout. | 492 | // Plan the packages' layout. |
493 | hr = PlanPackages(&pEngineState->registration, &pEngineState->userExperience, &pEngineState->packages, &pEngineState->plan, &pEngineState->log, &pEngineState->variables, FALSE, pEngineState->command.display, pEngineState->command.relationType, sczLayoutDirectory, &hSyncpointEvent); | 493 | hr = PlanPackages(&pEngineState->userExperience, &pEngineState->packages, &pEngineState->plan, &pEngineState->log, &pEngineState->variables, pEngineState->command.display, pEngineState->command.relationType, sczLayoutDirectory, &hSyncpointEvent); |
494 | ExitOnFailure(hr, "Failed to plan packages."); | 494 | ExitOnFailure(hr, "Failed to plan packages."); |
495 | } | 495 | } |
496 | else if (BOOTSTRAPPER_ACTION_UPDATE_REPLACE == action || BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED == action) | 496 | else if (BOOTSTRAPPER_ACTION_UPDATE_REPLACE == action || BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED == action) |
@@ -529,7 +529,7 @@ extern "C" HRESULT CorePlan( | |||
529 | hr = PlanRelatedBundlesBegin(&pEngineState->userExperience, &pEngineState->registration, pEngineState->command.relationType, &pEngineState->plan); | 529 | hr = PlanRelatedBundlesBegin(&pEngineState->userExperience, &pEngineState->registration, pEngineState->command.relationType, &pEngineState->plan); |
530 | ExitOnFailure(hr, "Failed to plan related bundles."); | 530 | ExitOnFailure(hr, "Failed to plan related bundles."); |
531 | 531 | ||
532 | hr = PlanPackages(&pEngineState->registration, &pEngineState->userExperience, &pEngineState->packages, &pEngineState->plan, &pEngineState->log, &pEngineState->variables, pEngineState->registration.fInstalled, pEngineState->command.display, pEngineState->command.relationType, NULL, &hSyncpointEvent); | 532 | hr = PlanPackages(&pEngineState->userExperience, &pEngineState->packages, &pEngineState->plan, &pEngineState->log, &pEngineState->variables, pEngineState->command.display, pEngineState->command.relationType, NULL, &hSyncpointEvent); |
533 | ExitOnFailure(hr, "Failed to plan packages."); | 533 | ExitOnFailure(hr, "Failed to plan packages."); |
534 | 534 | ||
535 | // Schedule the update of related bundles last. | 535 | // Schedule the update of related bundles last. |
@@ -538,10 +538,6 @@ extern "C" HRESULT CorePlan( | |||
538 | } | 538 | } |
539 | } | 539 | } |
540 | 540 | ||
541 | // Remove unnecessary actions. | ||
542 | hr = PlanFinalizeActions(&pEngineState->plan); | ||
543 | ExitOnFailure(hr, "Failed to remove unnecessary actions from plan."); | ||
544 | |||
545 | if (fContinuePlanning) | 541 | if (fContinuePlanning) |
546 | { | 542 | { |
547 | // Finally, display all packages and related bundles in the log. | 543 | // Finally, display all packages and related bundles in the log. |
@@ -1814,6 +1810,18 @@ static void LogPackages( | |||
1814 | const BURN_PACKAGE* pPackage = &pPackages->rgPackages[iPackage]; | 1810 | const BURN_PACKAGE* pPackage = &pPackages->rgPackages[iPackage]; |
1815 | 1811 | ||
1816 | LogId(REPORT_STANDARD, MSG_PLANNED_PACKAGE, pPackage->sczId, LoggingPackageStateToString(pPackage->currentState), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingBoolToString(pPackage->fAcquire), LoggingBoolToString(pPackage->fUncache), LoggingDependencyActionToString(pPackage->dependencyExecute), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedInstallRegistrationState), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedCacheRegistrationState)); | 1812 | LogId(REPORT_STANDARD, MSG_PLANNED_PACKAGE, pPackage->sczId, LoggingPackageStateToString(pPackage->currentState), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingBoolToString(pPackage->fAcquire), LoggingBoolToString(pPackage->fUncache), LoggingDependencyActionToString(pPackage->dependencyExecute), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedInstallRegistrationState), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedCacheRegistrationState)); |
1813 | |||
1814 | if (BURN_PACKAGE_TYPE_MSI == pPackage->type && pPackage->Msi.cFeatures) | ||
1815 | { | ||
1816 | LogId(REPORT_STANDARD, MSG_PLANNED_MSI_FEATURES, pPackage->Msi.cFeatures, pPackage->sczId); | ||
1817 | |||
1818 | for (DWORD j = 0; j < pPackage->Msi.cFeatures; ++j) | ||
1819 | { | ||
1820 | const BURN_MSIFEATURE* pFeature = &pPackage->Msi.rgFeatures[j]; | ||
1821 | |||
1822 | LogId(REPORT_STANDARD, MSG_PLANNED_MSI_FEATURE, pFeature->sczId, LoggingMsiFeatureStateToString(pFeature->currentState), LoggingMsiFeatureStateToString(pFeature->defaultRequested), LoggingMsiFeatureStateToString(pFeature->requested), LoggingMsiFeatureActionToString(pFeature->execute), LoggingMsiFeatureActionToString(pFeature->rollback)); | ||
1823 | } | ||
1824 | } | ||
1817 | } | 1825 | } |
1818 | 1826 | ||
1819 | // Display related bundles last if caching, installing, modifying, or repairing. | 1827 | // Display related bundles last if caching, installing, modifying, or repairing. |