aboutsummaryrefslogtreecommitdiff
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.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/burn/engine/exeengine.cpp b/src/burn/engine/exeengine.cpp
index 9eea4960..67da3bdd 100644
--- a/src/burn/engine/exeengine.cpp
+++ b/src/burn/engine/exeengine.cpp
@@ -308,6 +308,12 @@ extern "C" HRESULT ExeEnginePlanAddPackage(
308 ExitOnFailure(hr, "Failed to allocate the list of ancestors."); 308 ExitOnFailure(hr, "Failed to allocate the list of ancestors.");
309 } 309 }
310 310
311 if (pPackage->Exe.wzEngineWorkingDirectory)
312 {
313 hr = StrAllocString(&pAction->exePackage.sczEngineWorkingDirectory, pPackage->Exe.wzEngineWorkingDirectory, 0);
314 ExitOnFailure(hr, "Failed to allocate the custom working directory.");
315 }
316
311 LoggingSetPackageVariable(pPackage, NULL, FALSE, pLog, pVariables, NULL); // ignore errors. 317 LoggingSetPackageVariable(pPackage, NULL, FALSE, pLog, pVariables, NULL); // ignore errors.
312 } 318 }
313 319
@@ -488,6 +494,9 @@ extern "C" HRESULT ExeEngineExecutePackage(
488 494
489 if (BURN_EXE_PROTOCOL_TYPE_BURN == pPackage->Exe.protocol) 495 if (BURN_EXE_PROTOCOL_TYPE_BURN == pPackage->Exe.protocol)
490 { 496 {
497 hr = CoreAppendEngineWorkingDirectoryToCommandLine(pExecuteAction->exePackage.sczEngineWorkingDirectory, &sczCommand, &sczCommandObfuscated);
498 ExitOnFailure(hr, "Failed to append the custom working directory to the exepackage command line.");
499
491 hr = CoreAppendFileHandleSelfToCommandLine(sczExecutablePath, &hExecutableFile, &sczCommand, &sczCommandObfuscated); 500 hr = CoreAppendFileHandleSelfToCommandLine(sczExecutablePath, &hExecutableFile, &sczCommand, &sczCommandObfuscated);
492 ExitOnFailure(hr, "Failed to append %ls", BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF); 501 ExitOnFailure(hr, "Failed to append %ls", BURN_COMMANDLINE_SWITCH_FILEHANDLE_SELF);
493 } 502 }