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/elevation.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/elevation.cpp')
-rw-r--r-- | src/burn/engine/elevation.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/burn/engine/elevation.cpp b/src/burn/engine/elevation.cpp index e479b6c0..636d67ce 100644 --- a/src/burn/engine/elevation.cpp +++ b/src/burn/engine/elevation.cpp | |||
@@ -874,6 +874,9 @@ extern "C" HRESULT ElevationExecuteRelatedBundle( | |||
874 | hr = BuffWriteNumber(&pbData, &cbData, (DWORD)pExecuteAction->relatedBundle.action); | 874 | hr = BuffWriteNumber(&pbData, &cbData, (DWORD)pExecuteAction->relatedBundle.action); |
875 | ExitOnFailure(hr, "Failed to write action to message buffer."); | 875 | ExitOnFailure(hr, "Failed to write action to message buffer."); |
876 | 876 | ||
877 | hr = BuffWriteNumber(&pbData, &cbData, (DWORD)pExecuteAction->relatedBundle.pRelatedBundle->planRelationType); | ||
878 | ExitOnFailure(hr, "Failed to write planRelationType to message buffer."); | ||
879 | |||
877 | hr = BuffWriteNumber(&pbData, &cbData, fRollback); | 880 | hr = BuffWriteNumber(&pbData, &cbData, fRollback); |
878 | ExitOnFailure(hr, "Failed to write rollback."); | 881 | ExitOnFailure(hr, "Failed to write rollback."); |
879 | 882 | ||
@@ -2723,6 +2726,7 @@ static HRESULT OnExecuteRelatedBundle( | |||
2723 | HRESULT hr = S_OK; | 2726 | HRESULT hr = S_OK; |
2724 | SIZE_T iData = 0; | 2727 | SIZE_T iData = 0; |
2725 | LPWSTR sczPackage = NULL; | 2728 | LPWSTR sczPackage = NULL; |
2729 | DWORD dwPlanRelationType = 0; | ||
2726 | DWORD dwRollback = 0; | 2730 | DWORD dwRollback = 0; |
2727 | BURN_EXECUTE_ACTION executeAction = { }; | 2731 | BURN_EXECUTE_ACTION executeAction = { }; |
2728 | LPWSTR sczIgnoreDependencies = NULL; | 2732 | LPWSTR sczIgnoreDependencies = NULL; |
@@ -2739,6 +2743,9 @@ static HRESULT OnExecuteRelatedBundle( | |||
2739 | hr = BuffReadNumber(pbData, cbData, &iData, (DWORD*)&executeAction.relatedBundle.action); | 2743 | hr = BuffReadNumber(pbData, cbData, &iData, (DWORD*)&executeAction.relatedBundle.action); |
2740 | ExitOnFailure(hr, "Failed to read action."); | 2744 | ExitOnFailure(hr, "Failed to read action."); |
2741 | 2745 | ||
2746 | hr = BuffReadNumber(pbData, cbData, &iData, &dwPlanRelationType); | ||
2747 | ExitOnFailure(hr, "Failed to read planRelationType."); | ||
2748 | |||
2742 | hr = BuffReadNumber(pbData, cbData, &iData, &dwRollback); | 2749 | hr = BuffReadNumber(pbData, cbData, &iData, &dwRollback); |
2743 | ExitOnFailure(hr, "Failed to read rollback."); | 2750 | ExitOnFailure(hr, "Failed to read rollback."); |
2744 | 2751 | ||
@@ -2757,6 +2764,8 @@ static HRESULT OnExecuteRelatedBundle( | |||
2757 | hr = RelatedBundleFindById(pRelatedBundles, sczPackage, &executeAction.relatedBundle.pRelatedBundle); | 2764 | hr = RelatedBundleFindById(pRelatedBundles, sczPackage, &executeAction.relatedBundle.pRelatedBundle); |
2758 | ExitOnFailure(hr, "Failed to find related bundle: %ls", sczPackage); | 2765 | ExitOnFailure(hr, "Failed to find related bundle: %ls", sczPackage); |
2759 | 2766 | ||
2767 | executeAction.relatedBundle.pRelatedBundle->planRelationType = (BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE)dwPlanRelationType; | ||
2768 | |||
2760 | // Pass the list of dependencies to ignore, if any, to the related bundle. | 2769 | // Pass the list of dependencies to ignore, if any, to the related bundle. |
2761 | if (sczIgnoreDependencies && *sczIgnoreDependencies) | 2770 | if (sczIgnoreDependencies && *sczIgnoreDependencies) |
2762 | { | 2771 | { |