diff options
Diffstat (limited to 'src/burn/engine/core.cpp')
-rw-r--r-- | src/burn/engine/core.cpp | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp index 8a181e7c..d70810f2 100644 --- a/src/burn/engine/core.cpp +++ b/src/burn/engine/core.cpp | |||
@@ -342,21 +342,15 @@ extern "C" HRESULT CoreDetect( | |||
342 | hr = SearchesExecute(&pEngineState->searches, &pEngineState->variables); | 342 | hr = SearchesExecute(&pEngineState->searches, &pEngineState->variables); |
343 | ExitOnFailure(hr, "Failed to execute searches."); | 343 | ExitOnFailure(hr, "Failed to execute searches."); |
344 | 344 | ||
345 | hr = DependencyDetectBundle(&pEngineState->dependencies, &pEngineState->registration); | ||
346 | ExitOnFailure(hr, "Failed to detect the dependencies."); | ||
347 | |||
345 | // Load all of the related bundles. | 348 | // Load all of the related bundles. |
346 | hr = RegistrationDetectRelatedBundles(&pEngineState->registration); | 349 | hr = RegistrationDetectRelatedBundles(&pEngineState->registration); |
347 | ExitOnFailure(hr, "Failed to detect related bundles."); | 350 | ExitOnFailure(hr, "Failed to detect related bundles."); |
348 | 351 | ||
349 | hr = DependencyDetectProviderKeyBundleId(&pEngineState->registration); | 352 | hr = DetectForwardCompatibleBundles(&pEngineState->userExperience, &pEngineState->registration); |
350 | if (SUCCEEDED(hr)) | 353 | ExitOnFailure(hr, "Failed to detect forward compatible bundle."); |
351 | { | ||
352 | hr = DetectForwardCompatibleBundles(&pEngineState->userExperience, &pEngineState->registration); | ||
353 | ExitOnFailure(hr, "Failed to detect forward compatible bundle."); | ||
354 | } | ||
355 | else if (E_NOTFOUND == hr) | ||
356 | { | ||
357 | hr = S_OK; | ||
358 | } | ||
359 | ExitOnFailure(hr, "Failed to detect provider key bundle id."); | ||
360 | 354 | ||
361 | // Report the related bundles. | 355 | // Report the related bundles. |
362 | hr = DetectReportRelatedBundles(&pEngineState->userExperience, &pEngineState->registration, pEngineState->command.relationType, &pEngineState->registration.fEligibleForCleanup); | 356 | hr = DetectReportRelatedBundles(&pEngineState->userExperience, &pEngineState->registration, pEngineState->command.relationType, &pEngineState->registration.fEligibleForCleanup); |
@@ -398,9 +392,6 @@ extern "C" HRESULT CoreDetect( | |||
398 | } | 392 | } |
399 | } | 393 | } |
400 | 394 | ||
401 | hr = DependencyDetect(&pEngineState->dependencies, &pEngineState->packages, &pEngineState->registration); | ||
402 | ExitOnFailure(hr, "Failed to detect the dependencies."); | ||
403 | |||
404 | // Log the detected states. | 395 | // Log the detected states. |
405 | for (DWORD iPackage = 0; iPackage < pEngineState->packages.cPackages; ++iPackage) | 396 | for (DWORD iPackage = 0; iPackage < pEngineState->packages.cPackages; ++iPackage) |
406 | { | 397 | { |
@@ -2073,19 +2064,19 @@ static HRESULT DetectPackage( | |||
2073 | switch (pPackage->type) | 2064 | switch (pPackage->type) |
2074 | { | 2065 | { |
2075 | case BURN_PACKAGE_TYPE_EXE: | 2066 | case BURN_PACKAGE_TYPE_EXE: |
2076 | hr = ExeEngineDetectPackage(pPackage, &pEngineState->variables); | 2067 | hr = ExeEngineDetectPackage(pPackage, &pEngineState->registration, &pEngineState->variables); |
2077 | break; | 2068 | break; |
2078 | 2069 | ||
2079 | case BURN_PACKAGE_TYPE_MSI: | 2070 | case BURN_PACKAGE_TYPE_MSI: |
2080 | hr = MsiEngineDetectPackage(pPackage, &pEngineState->userExperience); | 2071 | hr = MsiEngineDetectPackage(pPackage, &pEngineState->registration, &pEngineState->userExperience); |
2081 | break; | 2072 | break; |
2082 | 2073 | ||
2083 | case BURN_PACKAGE_TYPE_MSP: | 2074 | case BURN_PACKAGE_TYPE_MSP: |
2084 | hr = MspEngineDetectPackage(pPackage, &pEngineState->userExperience); | 2075 | hr = MspEngineDetectPackage(pPackage, &pEngineState->registration, &pEngineState->userExperience); |
2085 | break; | 2076 | break; |
2086 | 2077 | ||
2087 | case BURN_PACKAGE_TYPE_MSU: | 2078 | case BURN_PACKAGE_TYPE_MSU: |
2088 | hr = MsuEngineDetectPackage(pPackage, &pEngineState->variables); | 2079 | hr = MsuEngineDetectPackage(pPackage, &pEngineState->registration, &pEngineState->variables); |
2089 | break; | 2080 | break; |
2090 | 2081 | ||
2091 | default: | 2082 | default: |