diff options
Diffstat (limited to 'src/burn/engine/msuengine.cpp')
-rw-r--r-- | src/burn/engine/msuengine.cpp | 27 |
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 | ||
251 | LExit: | 254 | LExit: |