diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-03-13 23:45:32 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-03-14 14:53:29 -0500 |
| commit | 4cd1c4e06145434ca940ac828772dc47b9d9738e (patch) | |
| tree | a754d685039173c63303dc6d0d8b1a2bf3ab506b /src/burn/engine/registration.cpp | |
| parent | 89adb2e3cc232b11b28e5bdeccb0c522c8124a29 (diff) | |
| download | wix-4cd1c4e06145434ca940ac828772dc47b9d9738e.tar.gz wix-4cd1c4e06145434ca940ac828772dc47b9d9738e.tar.bz2 wix-4cd1c4e06145434ca940ac828772dc47b9d9738e.zip | |
Allow the BA to override the bundle relation type during plan.
Diffstat (limited to 'src/burn/engine/registration.cpp')
| -rw-r--r-- | src/burn/engine/registration.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/burn/engine/registration.cpp b/src/burn/engine/registration.cpp index 545c390b..6bae2e7b 100644 --- a/src/burn/engine/registration.cpp +++ b/src/burn/engine/registration.cpp | |||
| @@ -614,7 +614,28 @@ extern "C" HRESULT RegistrationDetectRelatedBundles( | |||
| 614 | hr = RelatedBundlesInitializeForScope(FALSE, pRegistration, &pRegistration->relatedBundles); | 614 | hr = RelatedBundlesInitializeForScope(FALSE, pRegistration, &pRegistration->relatedBundles); |
| 615 | ExitOnFailure(hr, "Failed to initialize per-user related bundles."); | 615 | ExitOnFailure(hr, "Failed to initialize per-user related bundles."); |
| 616 | 616 | ||
| 617 | RelatedBundlesSort(&pRegistration->relatedBundles); | 617 | RelatedBundlesSortDetect(&pRegistration->relatedBundles); |
| 618 | |||
| 619 | LExit: | ||
| 620 | return hr; | ||
| 621 | } | ||
| 622 | |||
| 623 | extern "C" HRESULT RegistrationPlanInitialize( | ||
| 624 | __in BURN_REGISTRATION* pRegistration | ||
| 625 | ) | ||
| 626 | { | ||
| 627 | HRESULT hr = S_OK; | ||
| 628 | |||
| 629 | if (pRegistration->relatedBundles.cRelatedBundles && !pRegistration->relatedBundles.rgpPlanSortedRelatedBundles) | ||
| 630 | { | ||
| 631 | hr = MemEnsureArraySize(reinterpret_cast<LPVOID*>(&pRegistration->relatedBundles.rgpPlanSortedRelatedBundles), pRegistration->relatedBundles.cRelatedBundles, sizeof(BURN_RELATED_BUNDLE*), 5); | ||
| 632 | ExitOnFailure(hr, "Failed to initialize plan related bundles array."); | ||
| 633 | |||
| 634 | for (DWORD i = 0; i < pRegistration->relatedBundles.cRelatedBundles; ++i) | ||
| 635 | { | ||
| 636 | pRegistration->relatedBundles.rgpPlanSortedRelatedBundles[i] = pRegistration->relatedBundles.rgRelatedBundles + i; | ||
| 637 | } | ||
| 638 | } | ||
| 618 | 639 | ||
| 619 | LExit: | 640 | LExit: |
| 620 | return hr; | 641 | return hr; |
