diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2021-02-01 20:36:39 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2021-02-04 22:16:10 -0600 |
| commit | cc5fe7c79aad14819df1b4cb134884b80a945141 (patch) | |
| tree | 4b0ab44744a6b989f784292d438ef0654d9b03ac /src/engine/core.cpp | |
| parent | cede270b2bd3da6bd8d5205b8834e786c8d6c1ce (diff) | |
| download | wix-cc5fe7c79aad14819df1b4cb134884b80a945141.tar.gz wix-cc5fe7c79aad14819df1b4cb134884b80a945141.tar.bz2 wix-cc5fe7c79aad14819df1b4cb134884b80a945141.zip | |
Move registry checks for dependency ref-counting into Detect.
Diffstat (limited to 'src/engine/core.cpp')
| -rw-r--r-- | src/engine/core.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/engine/core.cpp b/src/engine/core.cpp index 77e2dd82..ae09ea65 100644 --- a/src/engine/core.cpp +++ b/src/engine/core.cpp | |||
| @@ -97,7 +97,7 @@ extern "C" HRESULT CoreInitialize( | |||
| 97 | ExitOnFailure(hr, "Failed to load manifest."); | 97 | ExitOnFailure(hr, "Failed to load manifest."); |
| 98 | 98 | ||
| 99 | hr = ContainersInitialize(&pEngineState->containers, &pEngineState->section); | 99 | hr = ContainersInitialize(&pEngineState->containers, &pEngineState->section); |
| 100 | ExitOnFailure(hr, "Failed to intialize containers."); | 100 | ExitOnFailure(hr, "Failed to initialize containers."); |
| 101 | 101 | ||
| 102 | // Parse command line. | 102 | // Parse command line. |
| 103 | hr = ParseCommandLine(pEngineState->argc, pEngineState->argv, &pEngineState->command, &pEngineState->companionConnection, &pEngineState->embeddedConnection, &pEngineState->variables, &pEngineState->mode, &pEngineState->automaticUpdates, &pEngineState->fDisableSystemRestore, &sczSourceProcessPath, &sczOriginalSource, &pEngineState->fDisableUnelevate, &pEngineState->log.dwAttributes, &pEngineState->log.sczPath, &pEngineState->registration.sczActiveParent, &pEngineState->sczIgnoreDependencies, &pEngineState->registration.sczAncestors, &sczSanitizedCommandLine); | 103 | hr = ParseCommandLine(pEngineState->argc, pEngineState->argv, &pEngineState->command, &pEngineState->companionConnection, &pEngineState->embeddedConnection, &pEngineState->variables, &pEngineState->mode, &pEngineState->automaticUpdates, &pEngineState->fDisableSystemRestore, &sczSourceProcessPath, &sczOriginalSource, &pEngineState->fDisableUnelevate, &pEngineState->log.dwAttributes, &pEngineState->log.sczPath, &pEngineState->registration.sczActiveParent, &pEngineState->sczIgnoreDependencies, &pEngineState->registration.sczAncestors, &sczSanitizedCommandLine); |
| @@ -105,6 +105,9 @@ extern "C" HRESULT CoreInitialize( | |||
| 105 | 105 | ||
| 106 | LogId(REPORT_STANDARD, MSG_BURN_COMMAND_LINE, sczSanitizedCommandLine ? sczSanitizedCommandLine : L""); | 106 | LogId(REPORT_STANDARD, MSG_BURN_COMMAND_LINE, sczSanitizedCommandLine ? sczSanitizedCommandLine : L""); |
| 107 | 107 | ||
| 108 | hr = DependencyInitialize(&pEngineState->registration, pEngineState->sczIgnoreDependencies); | ||
| 109 | ExitOnFailure(hr, "Failed to initialize dependency data."); | ||
| 110 | |||
| 108 | // Retain whether bundle was initially run elevated. | 111 | // Retain whether bundle was initially run elevated. |
| 109 | ProcElevated(::GetCurrentProcess(), &fElevated); | 112 | ProcElevated(::GetCurrentProcess(), &fElevated); |
| 110 | 113 | ||
| @@ -332,6 +335,9 @@ extern "C" HRESULT CoreDetect( | |||
| 332 | } | 335 | } |
| 333 | } | 336 | } |
| 334 | 337 | ||
| 338 | hr = DependencyDetect(pEngineState); | ||
| 339 | ExitOnFailure(hr, "Failed to detect the dependencies."); | ||
| 340 | |||
| 335 | // Log the detected states. | 341 | // Log the detected states. |
| 336 | for (DWORD iPackage = 0; iPackage < pEngineState->packages.cPackages; ++iPackage) | 342 | for (DWORD iPackage = 0; iPackage < pEngineState->packages.cPackages; ++iPackage) |
| 337 | { | 343 | { |
| @@ -419,7 +425,7 @@ extern "C" HRESULT CorePlan( | |||
| 419 | hr = PlanSetResumeCommand(&pEngineState->registration, action, &pEngineState->command, &pEngineState->log); | 425 | hr = PlanSetResumeCommand(&pEngineState->registration, action, &pEngineState->command, &pEngineState->log); |
| 420 | ExitOnFailure(hr, "Failed to set resume command"); | 426 | ExitOnFailure(hr, "Failed to set resume command"); |
| 421 | 427 | ||
| 422 | hr = DependencyPlanInitialize(pEngineState, &pEngineState->plan); | 428 | hr = DependencyPlanInitialize(&pEngineState->registration, &pEngineState->plan); |
| 423 | ExitOnFailure(hr, "Failed to initialize the dependencies for the plan."); | 429 | ExitOnFailure(hr, "Failed to initialize the dependencies for the plan."); |
| 424 | 430 | ||
| 425 | if (BOOTSTRAPPER_ACTION_LAYOUT == action) | 431 | if (BOOTSTRAPPER_ACTION_LAYOUT == action) |
| @@ -457,7 +463,7 @@ extern "C" HRESULT CorePlan( | |||
| 457 | BOOL fContinuePlanning = TRUE; // assume we'll be able to keep planning after registration. | 463 | BOOL fContinuePlanning = TRUE; // assume we'll be able to keep planning after registration. |
| 458 | pEngineState->plan.fPerMachine = pEngineState->registration.fPerMachine; // default the scope of the plan to the per-machine state of the bundle. | 464 | pEngineState->plan.fPerMachine = pEngineState->registration.fPerMachine; // default the scope of the plan to the per-machine state of the bundle. |
| 459 | 465 | ||
| 460 | hr = PlanRegistration(&pEngineState->plan, &pEngineState->registration, pEngineState->command.resumeType, pEngineState->command.relationType, pEngineState->sczIgnoreDependencies, &fContinuePlanning); | 466 | hr = PlanRegistration(&pEngineState->plan, &pEngineState->registration, pEngineState->command.resumeType, pEngineState->command.relationType, &fContinuePlanning); |
| 461 | ExitOnFailure(hr, "Failed to plan registration."); | 467 | ExitOnFailure(hr, "Failed to plan registration."); |
| 462 | 468 | ||
| 463 | if (fContinuePlanning) | 469 | if (fContinuePlanning) |
