summaryrefslogtreecommitdiff
path: root/src/burn/engine/exeengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/exeengine.cpp')
-rw-r--r--src/burn/engine/exeengine.cpp24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/burn/engine/exeengine.cpp b/src/burn/engine/exeengine.cpp
index 0a2084e5..a287d171 100644
--- a/src/burn/engine/exeengine.cpp
+++ b/src/burn/engine/exeengine.cpp
@@ -91,7 +91,6 @@ extern "C" void ExeEnginePackageUninitialize(
91 ReleaseStr(pPackage->Exe.sczInstallArguments); 91 ReleaseStr(pPackage->Exe.sczInstallArguments);
92 ReleaseStr(pPackage->Exe.sczRepairArguments); 92 ReleaseStr(pPackage->Exe.sczRepairArguments);
93 ReleaseStr(pPackage->Exe.sczUninstallArguments); 93 ReleaseStr(pPackage->Exe.sczUninstallArguments);
94 ReleaseStr(pPackage->Exe.sczIgnoreDependencies);
95 ReleaseMem(pPackage->Exe.rgExitCodes); 94 ReleaseMem(pPackage->Exe.rgExitCodes);
96 95
97 // free command-line arguments 96 // free command-line arguments
@@ -291,12 +290,6 @@ extern "C" HRESULT ExeEnginePlanAddPackage(
291 pAction->exePackage.pPackage = pPackage; 290 pAction->exePackage.pPackage = pPackage;
292 pAction->exePackage.action = pPackage->rollback; 291 pAction->exePackage.action = pPackage->rollback;
293 292
294 if (pPackage->Exe.sczIgnoreDependencies)
295 {
296 hr = StrAllocString(&pAction->exePackage.sczIgnoreDependencies, pPackage->Exe.sczIgnoreDependencies, 0);
297 ExitOnFailure(hr, "Failed to allocate the list of dependencies to ignore.");
298 }
299
300 if (pPackage->Exe.wzAncestors) 293 if (pPackage->Exe.wzAncestors)
301 { 294 {
302 hr = StrAllocString(&pAction->exePackage.sczAncestors, pPackage->Exe.wzAncestors, 0); 295 hr = StrAllocString(&pAction->exePackage.sczAncestors, pPackage->Exe.wzAncestors, 0);
@@ -325,12 +318,6 @@ extern "C" HRESULT ExeEnginePlanAddPackage(
325 pAction->exePackage.pPackage = pPackage; 318 pAction->exePackage.pPackage = pPackage;
326 pAction->exePackage.action = pPackage->execute; 319 pAction->exePackage.action = pPackage->execute;
327 320
328 if (pPackage->Exe.sczIgnoreDependencies)
329 {
330 hr = StrAllocString(&pAction->exePackage.sczIgnoreDependencies, pPackage->Exe.sczIgnoreDependencies, 0);
331 ExitOnFailure(hr, "Failed to allocate the list of dependencies to ignore.");
332 }
333
334 if (pPackage->Exe.wzAncestors) 321 if (pPackage->Exe.wzAncestors)
335 { 322 {
336 hr = StrAllocString(&pAction->exePackage.sczAncestors, pPackage->Exe.wzAncestors, 0); 323 hr = StrAllocString(&pAction->exePackage.sczAncestors, pPackage->Exe.wzAncestors, 0);
@@ -455,12 +442,11 @@ extern "C" HRESULT ExeEngineExecutePackage(
455 hr = StrAllocConcat(&sczBaseCommand, L" -norestart", 0); 442 hr = StrAllocConcat(&sczBaseCommand, L" -norestart", 0);
456 ExitOnFailure(hr, "Failed to append norestart argument."); 443 ExitOnFailure(hr, "Failed to append norestart argument.");
457 444
458 // Add the list of dependencies to ignore, if any, to the burn command line. 445 hr = StrAllocConcatFormatted(&sczBaseCommand, L" -%ls", BURN_COMMANDLINE_SWITCH_RELATED_CHAIN_PACKAGE);
459 if (pExecuteAction->exePackage.sczIgnoreDependencies) 446 ExitOnFailure(hr, "Failed to append the relation type to the command line.");
460 { 447
461 hr = StrAllocConcatFormatted(&sczBaseCommand, L" -%ls=%ls", BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES, pExecuteAction->exePackage.sczIgnoreDependencies); 448 hr = StrAllocConcatFormatted(&sczBaseCommand, L" -%ls=ALL", BURN_COMMANDLINE_SWITCH_IGNOREDEPENDENCIES);
462 ExitOnFailure(hr, "Failed to append the list of dependencies to ignore to the command line."); 449 ExitOnFailure(hr, "Failed to append the list of dependencies to ignore to the command line.");
463 }
464 450
465 // Add the list of ancestors, if any, to the burn command line. 451 // Add the list of ancestors, if any, to the burn command line.
466 if (pExecuteAction->exePackage.sczAncestors) 452 if (pExecuteAction->exePackage.sczAncestors)