aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/exeengine.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-08-25 15:06:04 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-08-26 10:03:37 -0500
commita37208d9a26ec7886870cc17f0726676a285bf7f (patch)
treee620e863cd16801d126cee93eaca7b63293914cf /src/burn/engine/exeengine.cpp
parent6bd9fb04a9a8c1805a3e909583cca85c54dea7e4 (diff)
downloadwix-a37208d9a26ec7886870cc17f0726676a285bf7f.tar.gz
wix-a37208d9a26ec7886870cc17f0726676a285bf7f.tar.bz2
wix-a37208d9a26ec7886870cc17f0726676a285bf7f.zip
Make sure error codes are translated correctly for per-machine packages.
Diffstat (limited to 'src/burn/engine/exeengine.cpp')
-rw-r--r--src/burn/engine/exeengine.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/burn/engine/exeengine.cpp b/src/burn/engine/exeengine.cpp
index b4898d42..3cb9c72a 100644
--- a/src/burn/engine/exeengine.cpp
+++ b/src/burn/engine/exeengine.cpp
@@ -648,7 +648,7 @@ extern "C" HRESULT ExeEngineExecutePackage(
648 ExitOnFailure(hr, "Failed to run EXE process"); 648 ExitOnFailure(hr, "Failed to run EXE process");
649 } 649 }
650 650
651 hr = ExeEngineHandleExitCode(pPackage->Exe.rgExitCodes, pPackage->Exe.cExitCodes, dwExitCode, pRestart); 651 hr = ExeEngineHandleExitCode(pPackage->Exe.rgExitCodes, pPackage->Exe.cExitCodes, pPackage->sczId, dwExitCode, pRestart);
652 ExitOnRootFailure(hr, "Process returned error: 0x%x", dwExitCode); 652 ExitOnRootFailure(hr, "Process returned error: 0x%x", dwExitCode);
653 653
654LExit: 654LExit:
@@ -759,7 +759,7 @@ extern "C" HRESULT ExeEngineRunProcess(
759 hr = (IDOK == nResult || IDNOACTION == nResult) ? S_OK : IDCANCEL == nResult ? HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT) : HRESULT_FROM_WIN32(ERROR_INSTALL_FAILURE); 759 hr = (IDOK == nResult || IDNOACTION == nResult) ? S_OK : IDCANCEL == nResult ? HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT) : HRESULT_FROM_WIN32(ERROR_INSTALL_FAILURE);
760 ExitOnRootFailure(hr, "Bootstrapper application aborted during package process progress."); 760 ExitOnRootFailure(hr, "Bootstrapper application aborted during package process progress.");
761 761
762 hr = ProcWaitForCompletion(pi.hProcess, 500, pdwExitCode); 762 hr = CoreWaitForProcCompletion(pi.hProcess, 500, pdwExitCode);
763 if (HRESULT_FROM_WIN32(WAIT_TIMEOUT) != hr) 763 if (HRESULT_FROM_WIN32(WAIT_TIMEOUT) != hr)
764 { 764 {
765 ExitOnFailure(hr, "Failed to wait for executable to complete: %ls", wzExecutablePath); 765 ExitOnFailure(hr, "Failed to wait for executable to complete: %ls", wzExecutablePath);
@@ -948,6 +948,7 @@ LExit:
948extern "C" HRESULT ExeEngineHandleExitCode( 948extern "C" HRESULT ExeEngineHandleExitCode(
949 __in BURN_EXE_EXIT_CODE* rgCustomExitCodes, 949 __in BURN_EXE_EXIT_CODE* rgCustomExitCodes,
950 __in DWORD cCustomExitCodes, 950 __in DWORD cCustomExitCodes,
951 __in_z LPCWSTR wzId,
951 __in DWORD dwExitCode, 952 __in DWORD dwExitCode,
952 __out BOOTSTRAPPER_APPLY_RESTART* pRestart 953 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
953 ) 954 )
@@ -1029,6 +1030,8 @@ extern "C" HRESULT ExeEngineHandleExitCode(
1029 } 1030 }
1030 1031
1031//LExit: 1032//LExit:
1033 LogId(REPORT_STANDARD, MSG_EXECUTE_PACKAGE_PROCESS_EXITED, wzId, dwExitCode, LoggingExitCodeTypeToString(typeCode), LoggingRestartToString(*pRestart));
1034
1032 return hr; 1035 return hr;
1033} 1036}
1034 1037