aboutsummaryrefslogtreecommitdiff
path: root/src/engine/msiengine.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-11-15 21:38:57 -0600
committerSean Hall <r.sean.hall@gmail.com>2020-11-17 19:06:00 -0600
commite71de85e4ec2899ecd01ac236603cf1dddc4a6c7 (patch)
treeb1537ce17314dc073a9fd3d7d4925f215990be13 /src/engine/msiengine.cpp
parent846f5a033d346c1bac51c56d4936cd3118ebea7a (diff)
downloadwix-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/msiengine.cpp')
-rw-r--r--src/engine/msiengine.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/engine/msiengine.cpp b/src/engine/msiengine.cpp
index fcd8817d..b056cb7e 100644
--- a/src/engine/msiengine.cpp
+++ b/src/engine/msiengine.cpp
@@ -717,7 +717,8 @@ extern "C" HRESULT MsiEnginePlanCalculatePackage(
717 __in BURN_PACKAGE* pPackage, 717 __in BURN_PACKAGE* pPackage,
718 __in BURN_VARIABLES* pVariables, 718 __in BURN_VARIABLES* pVariables,
719 __in BURN_USER_EXPERIENCE* pUserExperience, 719 __in BURN_USER_EXPERIENCE* pUserExperience,
720 __out BOOL* pfBARequestedCache 720 __in BOOL fInsideMsiTransaction,
721 __out_opt BOOL* pfBARequestedCache
721 ) 722 )
722{ 723{
723 Trace(REPORT_STANDARD, "Planning MSI package 0x%p", pPackage); 724 Trace(REPORT_STANDARD, "Planning MSI package 0x%p", pPackage);
@@ -853,7 +854,7 @@ extern "C" HRESULT MsiEnginePlanCalculatePackage(
853 } 854 }
854 855
855 // Calculate the rollback action if there is an execute action. 856 // Calculate the rollback action if there is an execute action.
856 if (BOOTSTRAPPER_ACTION_STATE_NONE != execute) 857 if (BOOTSTRAPPER_ACTION_STATE_NONE != execute && !fInsideMsiTransaction)
857 { 858 {
858 switch (BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN != pPackage->expected ? pPackage->expected : pPackage->currentState) 859 switch (BOOTSTRAPPER_PACKAGE_STATE_UNKNOWN != pPackage->expected ? pPackage->expected : pPackage->currentState)
859 { 860 {