summaryrefslogtreecommitdiff
path: root/src/burn/engine/msuengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/msuengine.cpp')
-rw-r--r--src/burn/engine/msuengine.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/burn/engine/msuengine.cpp b/src/burn/engine/msuengine.cpp
index 2f1fb61c..2591973f 100644
--- a/src/burn/engine/msuengine.cpp
+++ b/src/burn/engine/msuengine.cpp
@@ -222,30 +222,33 @@ extern "C" HRESULT MsuEnginePlanAddPackage(
222 hr = DependencyPlanPackage(NULL, pPackage, pPlan); 222 hr = DependencyPlanPackage(NULL, pPackage, pPlan);
223 ExitOnFailure(hr, "Failed to plan package dependency actions."); 223 ExitOnFailure(hr, "Failed to plan package dependency actions.");
224 224
225 // add execute action 225 // add rollback action
226 if (BOOTSTRAPPER_ACTION_STATE_NONE != pPackage->execute) 226 if (BOOTSTRAPPER_ACTION_STATE_NONE != pPackage->rollback)
227 { 227 {
228 hr = PlanAppendExecuteAction(pPlan, &pAction); 228 hr = PlanAppendRollbackAction(pPlan, &pAction);
229 ExitOnFailure(hr, "Failed to append execute action."); 229 ExitOnFailure(hr, "Failed to append rollback action.");
230 230
231 pAction->type = BURN_EXECUTE_ACTION_TYPE_MSU_PACKAGE; 231 pAction->type = BURN_EXECUTE_ACTION_TYPE_MSU_PACKAGE;
232 pAction->msuPackage.pPackage = pPackage; 232 pAction->msuPackage.pPackage = pPackage;
233 pAction->msuPackage.action = pPackage->execute; 233 pAction->msuPackage.action = pPackage->rollback;
234 234
235 LoggingSetPackageVariable(pPackage, NULL, FALSE, pLog, pVariables, &pAction->msuPackage.sczLogPath); // ignore errors. 235 LoggingSetPackageVariable(pPackage, NULL, TRUE, pLog, pVariables, &pAction->msuPackage.sczLogPath); // ignore errors.
236
237 hr = PlanExecuteCheckpoint(pPlan);
238 ExitOnFailure(hr, "Failed to append execute checkpoint.");
236 } 239 }
237 240
238 // add rollback action 241 // add execute action
239 if (BOOTSTRAPPER_ACTION_STATE_NONE != pPackage->rollback) 242 if (BOOTSTRAPPER_ACTION_STATE_NONE != pPackage->execute)
240 { 243 {
241 hr = PlanAppendRollbackAction(pPlan, &pAction); 244 hr = PlanAppendExecuteAction(pPlan, &pAction);
242 ExitOnFailure(hr, "Failed to append rollback action."); 245 ExitOnFailure(hr, "Failed to append execute action.");
243 246
244 pAction->type = BURN_EXECUTE_ACTION_TYPE_MSU_PACKAGE; 247 pAction->type = BURN_EXECUTE_ACTION_TYPE_MSU_PACKAGE;
245 pAction->msuPackage.pPackage = pPackage; 248 pAction->msuPackage.pPackage = pPackage;
246 pAction->msuPackage.action = pPackage->rollback; 249 pAction->msuPackage.action = pPackage->execute;
247 250
248 LoggingSetPackageVariable(pPackage, NULL, TRUE, pLog, pVariables, &pAction->msuPackage.sczLogPath); // ignore errors. 251 LoggingSetPackageVariable(pPackage, NULL, FALSE, pLog, pVariables, &pAction->msuPackage.sczLogPath); // ignore errors.
249 } 252 }
250 253
251LExit: 254LExit: