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 | |
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')
-rw-r--r-- | src/burn/engine/engine.cpp | 12 | ||||
-rw-r--r-- | src/burn/engine/engine.mc | 7 | ||||
-rw-r--r-- | src/burn/engine/logging.cpp | 3 |
3 files changed, 22 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."); |
diff --git a/src/burn/engine/engine.mc b/src/burn/engine/engine.mc index f5e3ca27..08269ea0 100644 --- a/src/burn/engine/engine.mc +++ b/src/burn/engine/engine.mc | |||
@@ -170,6 +170,13 @@ Language=English | |||
170 | Failed to use folder as machine package cache: %2!ls!, encountered error: %1!ls!. | 170 | Failed to use folder as machine package cache: %2!ls!, encountered error: %1!ls!. |
171 | . | 171 | . |
172 | 172 | ||
173 | MessageId=21 | ||
174 | Severity=Success | ||
175 | SymbolicName=MSG_EXITING_ELEVATED | ||
176 | Language=English | ||
177 | Exit code: 0x%1!x! | ||
178 | . | ||
179 | |||
173 | MessageId=51 | 180 | MessageId=51 |
174 | Severity=Error | 181 | Severity=Error |
175 | SymbolicName=MSG_FAILED_PARSE_CONDITION | 182 | SymbolicName=MSG_FAILED_PARSE_CONDITION |
diff --git a/src/burn/engine/logging.cpp b/src/burn/engine/logging.cpp index ae056921..885e2c84 100644 --- a/src/burn/engine/logging.cpp +++ b/src/burn/engine/logging.cpp | |||
@@ -77,6 +77,9 @@ extern "C" HRESULT LoggingOpen( | |||
77 | case BURN_MODE_UNTRUSTED: | 77 | case BURN_MODE_UNTRUSTED: |
78 | wzPostfix = L".cleanroom"; | 78 | wzPostfix = L".cleanroom"; |
79 | break; | 79 | break; |
80 | case BURN_MODE_ELEVATED: | ||
81 | wzPostfix = L".elevated"; | ||
82 | break; | ||
80 | case BURN_MODE_RUNONCE: | 83 | case BURN_MODE_RUNONCE: |
81 | wzPostfix = L".runonce"; | 84 | wzPostfix = L".runonce"; |
82 | break; | 85 | break; |