aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/burn/engine/apply.cpp8
-rw-r--r--src/burn/engine/msiengine.cpp3
2 files changed, 4 insertions, 7 deletions
diff --git a/src/burn/engine/apply.cpp b/src/burn/engine/apply.cpp
index 4e652768..3ad22e9b 100644
--- a/src/burn/engine/apply.cpp
+++ b/src/burn/engine/apply.cpp
@@ -3123,12 +3123,10 @@ static HRESULT ExecuteMsiCommitTransaction(
3123 hr = MsiEngineCommitTransaction(pRollbackBoundary); 3123 hr = MsiEngineCommitTransaction(pRollbackBoundary);
3124 } 3124 }
3125 3125
3126 if (SUCCEEDED(hr)) 3126 // Assume that MsiEndTransaction can only be called once for each MsiBeginTransaction.
3127 { 3127 pRollbackBoundary->fActiveTransaction = FALSE;
3128 pRollbackBoundary->fActiveTransaction = FALSE;
3129 3128
3130 ResetTransactionRegistrationState(pEngineState, TRUE); 3129 ResetTransactionRegistrationState(pEngineState, TRUE);
3131 }
3132 3130
3133LExit: 3131LExit:
3134 if (fCommitBeginCalled) 3132 if (fCommitBeginCalled)
diff --git a/src/burn/engine/msiengine.cpp b/src/burn/engine/msiengine.cpp
index d306f3e0..d892b2bc 100644
--- a/src/burn/engine/msiengine.cpp
+++ b/src/burn/engine/msiengine.cpp
@@ -1129,8 +1129,7 @@ extern "C" HRESULT MsiEngineBeginTransaction(
1129 ExitOnFailure(hr, "Failed to begin an MSI transaction"); 1129 ExitOnFailure(hr, "Failed to begin an MSI transaction");
1130 1130
1131LExit: 1131LExit:
1132 ReleaseMsi(hTransactionHandle); 1132 // Assume that MsiEndTransaction cleans up the handles.
1133 ReleaseHandle(hChangeOfOwnerEvent);
1134 1133
1135 return hr; 1134 return hr;
1136} 1135}