aboutsummaryrefslogtreecommitdiff
path: root/src/engine/elevation.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2020-03-12 16:22:04 +1100
committerSean Hall <r.sean.hall@gmail.com>2020-03-12 16:23:54 +1100
commit6ce359752afac0d3d70c2cf5fabd7d92859564ee (patch)
tree2c5bd798b6f6942a27031002015a5720032e7840 /src/engine/elevation.cpp
parent91cc7ff5c0f387d39c5999032b4472cbb00e1cd6 (diff)
downloadwix-6ce359752afac0d3d70c2cf5fabd7d92859564ee.tar.gz
wix-6ce359752afac0d3d70c2cf5fabd7d92859564ee.tar.bz2
wix-6ce359752afac0d3d70c2cf5fabd7d92859564ee.zip
Retry ElevationElevate once if we think it failed due to antivirus interference.
Diffstat (limited to 'src/engine/elevation.cpp')
-rw-r--r--src/engine/elevation.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/engine/elevation.cpp b/src/engine/elevation.cpp
index 1b9336e0..0b96c300 100644
--- a/src/engine/elevation.cpp
+++ b/src/engine/elevation.cpp
@@ -291,6 +291,10 @@ extern "C" HRESULT ElevationElevate(
291 LogId(REPORT_STANDARD, MSG_LAUNCH_ELEVATED_ENGINE_SUCCESS); 291 LogId(REPORT_STANDARD, MSG_LAUNCH_ELEVATED_ENGINE_SUCCESS);
292 292
293 hr = PipeWaitForChildConnect(&pEngineState->companionConnection); 293 hr = PipeWaitForChildConnect(&pEngineState->companionConnection);
294 if (HRESULT_FROM_WIN32(ERROR_NO_DATA) == hr)
295 {
296 hr = E_SUSPECTED_AV_INTERFERENCE;
297 }
294 ExitOnFailure(hr, "Failed to connect to elevated child process."); 298 ExitOnFailure(hr, "Failed to connect to elevated child process.");
295 299
296 LogId(REPORT_STANDARD, MSG_CONNECT_TO_ELEVATED_ENGINE_SUCCESS); 300 LogId(REPORT_STANDARD, MSG_CONNECT_TO_ELEVATED_ENGINE_SUCCESS);