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 '')
| -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."); |
