diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-08-19 14:08:23 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-08-19 17:02:27 -0500 |
| commit | b72f58abdf6dd5d0020f174358027158cb52cb72 (patch) | |
| tree | 3070c1f1fa8a74125a2933f23a1be3c514ed1de7 /src/burn/engine/embedded.cpp | |
| parent | bbc36178172e4198351f2f84a91faf56c65e1475 (diff) | |
| download | wix-b72f58abdf6dd5d0020f174358027158cb52cb72.tar.gz wix-b72f58abdf6dd5d0020f174358027158cb52cb72.tar.bz2 wix-b72f58abdf6dd5d0020f174358027158cb52cb72.zip | |
Use a dedicated pipe for redirecting logging from the elevated process.
Fixes 6869
Diffstat (limited to 'src/burn/engine/embedded.cpp')
| -rw-r--r-- | src/burn/engine/embedded.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/burn/engine/embedded.cpp b/src/burn/engine/embedded.cpp index ac4c76d0..b9335cdf 100644 --- a/src/burn/engine/embedded.cpp +++ b/src/burn/engine/embedded.cpp | |||
| @@ -51,7 +51,6 @@ extern "C" HRESULT EmbeddedRunBundle( | |||
| 51 | { | 51 | { |
| 52 | HRESULT hr = S_OK; | 52 | HRESULT hr = S_OK; |
| 53 | DWORD dwCurrentProcessId = ::GetCurrentProcessId(); | 53 | DWORD dwCurrentProcessId = ::GetCurrentProcessId(); |
| 54 | HANDLE hCreatedPipesEvent = NULL; | ||
| 55 | LPWSTR sczCommand = NULL; | 54 | LPWSTR sczCommand = NULL; |
| 56 | PROCESS_INFORMATION pi = { }; | 55 | PROCESS_INFORMATION pi = { }; |
| 57 | BURN_PIPE_RESULT result = { }; | 56 | BURN_PIPE_RESULT result = { }; |
| @@ -65,7 +64,7 @@ extern "C" HRESULT EmbeddedRunBundle( | |||
| 65 | hr = PipeCreateNameAndSecret(&pConnection->sczName, &pConnection->sczSecret); | 64 | hr = PipeCreateNameAndSecret(&pConnection->sczName, &pConnection->sczSecret); |
| 66 | ExitOnFailure(hr, "Failed to create embedded pipe name and client token."); | 65 | ExitOnFailure(hr, "Failed to create embedded pipe name and client token."); |
| 67 | 66 | ||
| 68 | hr = PipeCreatePipes(pConnection, FALSE, &hCreatedPipesEvent); | 67 | hr = PipeCreatePipes(pConnection, FALSE); |
| 69 | ExitOnFailure(hr, "Failed to create embedded pipe."); | 68 | ExitOnFailure(hr, "Failed to create embedded pipe."); |
| 70 | 69 | ||
| 71 | hr = StrAllocFormatted(&sczCommand, L"%ls -%ls %ls %ls %u", sczBaseCommand, BURN_COMMANDLINE_SWITCH_EMBEDDED, pConnection->sczName, pConnection->sczSecret, dwCurrentProcessId); | 70 | hr = StrAllocFormatted(&sczCommand, L"%ls -%ls %ls %ls %u", sczBaseCommand, BURN_COMMANDLINE_SWITCH_EMBEDDED, pConnection->sczName, pConnection->sczSecret, dwCurrentProcessId); |
| @@ -100,7 +99,6 @@ LExit: | |||
| 100 | ReleaseHandle(pi.hProcess); | 99 | ReleaseHandle(pi.hProcess); |
| 101 | 100 | ||
| 102 | StrSecureZeroFreeString(sczCommand); | 101 | StrSecureZeroFreeString(sczCommand); |
| 103 | ReleaseHandle(hCreatedPipesEvent); | ||
| 104 | PipeConnectionUninitialize(pConnection); | 102 | PipeConnectionUninitialize(pConnection); |
| 105 | 103 | ||
| 106 | return hr; | 104 | return hr; |
