aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/embedded.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-08-19 14:08:23 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-08-19 17:02:27 -0500
commitb72f58abdf6dd5d0020f174358027158cb52cb72 (patch)
tree3070c1f1fa8a74125a2933f23a1be3c514ed1de7 /src/burn/engine/embedded.cpp
parentbbc36178172e4198351f2f84a91faf56c65e1475 (diff)
downloadwix-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.cpp4
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;