aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/engine.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-08-19 13:48:52 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-08-19 17:02:27 -0500
commitbbc36178172e4198351f2f84a91faf56c65e1475 (patch)
treef0e4f840c088ab256fcb9ea5a601f9f5a62f8b2c /src/burn/engine/engine.cpp
parent5132ee4ed0220e7856dd6908753eba51e52bfada (diff)
downloadwix-bbc36178172e4198351f2f84a91faf56c65e1475.tar.gz
wix-bbc36178172e4198351f2f84a91faf56c65e1475.tar.bz2
wix-bbc36178172e4198351f2f84a91faf56c65e1475.zip
Create log for elevated process.
Diffstat (limited to 'src/burn/engine/engine.cpp')
-rw-r--r--src/burn/engine/engine.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/burn/engine/engine.cpp b/src/burn/engine/engine.cpp
index 2d2da1d5..323d2c3a 100644
--- a/src/burn/engine/engine.cpp
+++ b/src/burn/engine/engine.cpp
@@ -106,6 +106,7 @@ extern "C" HRESULT EngineRun(
106 LPWSTR sczExePath = NULL; 106 LPWSTR sczExePath = NULL;
107 BOOL fRunUntrusted = FALSE; 107 BOOL fRunUntrusted = FALSE;
108 BOOL fRunNormal = FALSE; 108 BOOL fRunNormal = FALSE;
109 BOOL fRunElevated = FALSE;
109 BOOL fRunRunOnce = FALSE; 110 BOOL fRunRunOnce = FALSE;
110 BOOL fRestart = FALSE; 111 BOOL fRestart = FALSE;
111 112
@@ -220,6 +221,8 @@ extern "C" HRESULT EngineRun(
220 break; 221 break;
221 222
222 case BURN_MODE_ELEVATED: 223 case BURN_MODE_ELEVATED:
224 fRunElevated = TRUE;
225
223 hr = RunElevated(hInstance, wzCommandLine, &engineState); 226 hr = RunElevated(hInstance, wzCommandLine, &engineState);
224 ExitOnFailure(hr, "Failed to run per-machine mode."); 227 ExitOnFailure(hr, "Failed to run per-machine mode.");
225 break; 228 break;
@@ -320,6 +323,11 @@ LExit:
320 { 323 {
321 LogId(REPORT_STANDARD, MSG_EXITING_RUN_ONCE, FAILED(hr) ? (int)hr : *pdwExitCode); 324 LogId(REPORT_STANDARD, MSG_EXITING_RUN_ONCE, FAILED(hr) ? (int)hr : *pdwExitCode);
322 } 325 }
326 else if (fRunElevated)
327 {
328 LogId(REPORT_STANDARD, MSG_EXITING_ELEVATED, FAILED(hr) ? (int)hr : *pdwExitCode);
329 }
330
323 331
324 if (fLogInitialized) 332 if (fLogInitialized)
325 { 333 {
@@ -639,6 +647,10 @@ static HRESULT RunElevated(
639 HRESULT hr = S_OK; 647 HRESULT hr = S_OK;
640 HANDLE hLock = NULL; 648 HANDLE hLock = NULL;
641 649
650 // Initialize logging.
651 hr = LoggingOpen(&pEngineState->log, &pEngineState->internalCommand, &pEngineState->command, &pEngineState->variables, pEngineState->registration.sczDisplayName);
652 ExitOnFailure(hr, "Failed to open elevated log.");
653
642 // connect to per-user process 654 // connect to per-user process
643 hr = PipeChildConnect(&pEngineState->companionConnection, TRUE); 655 hr = PipeChildConnect(&pEngineState->companionConnection, TRUE);
644 ExitOnFailure(hr, "Failed to connect to unelevated process."); 656 ExitOnFailure(hr, "Failed to connect to unelevated process.");