diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-08-19 13:48:52 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-08-19 17:02:27 -0500 |
commit | bbc36178172e4198351f2f84a91faf56c65e1475 (patch) | |
tree | f0e4f840c088ab256fcb9ea5a601f9f5a62f8b2c /src/burn/engine/engine.cpp | |
parent | 5132ee4ed0220e7856dd6908753eba51e52bfada (diff) | |
download | wix-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.cpp | 12 |
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."); |