@joebigelow / wix / commits / c6b138ed

Make sure failure inside of a non-vital rollback boundary is ignored.

Nir Bar committed Aug 10, 2021 at 10:13 UTC c6b138ed166e30c750e499919b858dc6913937b6
1 file changed +4 -1
src/burn/engine/apply.cpp
+4 -1
@@ -725,6 +725,7 @@ extern "C" HRESULT ApplyExecute(
725 break;
726 }
727
728 + // The action failed, roll back to previous rollback boundary.
729 if (pCheckpoint)
730 {
731 // If inside a MSI transaction, roll it back.
@@ -734,7 +735,6 @@ extern "C" HRESULT ApplyExecute(
735 IgnoreRollbackError(hrRollback, "Failed rolling back transaction");
736 }
737
737 - // The action failed, roll back to previous rollback boundary.
738 hrRollback = DoRollbackActions(pEngineState, &context, pCheckpoint->dwId, pRestart);
739 IgnoreRollbackError(hrRollback, "Failed rollback actions");
740 }
@@ -745,6 +745,9 @@ extern "C" HRESULT ApplyExecute(
745 break;
746 }
747
748 + // Ignore failure inside of a non-vital rollback boundary.
749 + hr = S_OK;
750 +
751 // Move forward to next rollback boundary.
752 fSeekNextRollbackBoundary = TRUE;
753 }