diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-11-15 21:38:57 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-11-17 19:06:00 -0600 |
commit | e71de85e4ec2899ecd01ac236603cf1dddc4a6c7 (patch) | |
tree | b1537ce17314dc073a9fd3d7d4925f215990be13 /src/engine/mspengine.cpp | |
parent | 846f5a033d346c1bac51c56d4936cd3118ebea7a (diff) | |
download | wix-e71de85e4ec2899ecd01ac236603cf1dddc4a6c7.tar.gz wix-e71de85e4ec2899ecd01ac236603cf1dddc4a6c7.tar.bz2 wix-e71de85e4ec2899ecd01ac236603cf1dddc4a6c7.zip |
Use plan to decide when to begin, commit, or rollback MSI transactions
Diffstat (limited to 'src/engine/mspengine.cpp')
-rw-r--r-- | src/engine/mspengine.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/engine/mspengine.cpp b/src/engine/mspengine.cpp index 0854862b..e14173d1 100644 --- a/src/engine/mspengine.cpp +++ b/src/engine/mspengine.cpp | |||
@@ -266,6 +266,7 @@ LExit: | |||
266 | extern "C" HRESULT MspEnginePlanCalculatePackage( | 266 | extern "C" HRESULT MspEnginePlanCalculatePackage( |
267 | __in BURN_PACKAGE* pPackage, | 267 | __in BURN_PACKAGE* pPackage, |
268 | __in BURN_USER_EXPERIENCE* pUserExperience, | 268 | __in BURN_USER_EXPERIENCE* pUserExperience, |
269 | __in BOOL fInsideMsiTransaction, | ||
269 | __out BOOL* pfBARequestedCache | 270 | __out BOOL* pfBARequestedCache |
270 | ) | 271 | ) |
271 | { | 272 | { |
@@ -329,7 +330,7 @@ extern "C" HRESULT MspEnginePlanCalculatePackage( | |||
329 | } | 330 | } |
330 | 331 | ||
331 | // Calculate the rollback action if there is an execute action. | 332 | // Calculate the rollback action if there is an execute action. |
332 | if (BOOTSTRAPPER_ACTION_STATE_NONE != execute) | 333 | if (BOOTSTRAPPER_ACTION_STATE_NONE != execute && !fInsideMsiTransaction) |
333 | { | 334 | { |
334 | switch (BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN != pPackage->expected ? pPackage->expected : pPackage->currentState) | 335 | switch (BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN != pPackage->expected ? pPackage->expected : pPackage->currentState) |
335 | { | 336 | { |
@@ -442,7 +443,7 @@ extern "C" HRESULT MspEnginePlanAddPackage( | |||
442 | if (BOOTSTRAPPER_ACTION_STATE_NONE != pTargetProduct->rollback) | 443 | if (BOOTSTRAPPER_ACTION_STATE_NONE != pTargetProduct->rollback) |
443 | { | 444 | { |
444 | hr = PlanTargetProduct(display, pUserExperience, TRUE, pPlan, pLog, pVariables, pTargetProduct->rollback, pPackage, pTargetProduct, hCacheEvent); | 445 | hr = PlanTargetProduct(display, pUserExperience, TRUE, pPlan, pLog, pVariables, pTargetProduct->rollback, pPackage, pTargetProduct, hCacheEvent); |
445 | ExitOnFailure(hr, "Failed to plan rollack target product."); | 446 | ExitOnFailure(hr, "Failed to plan rollback target product."); |
446 | } | 447 | } |
447 | } | 448 | } |
448 | 449 | ||