diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-04-29 18:57:50 +1000 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-04-29 19:46:58 +1000 |
commit | 04eff6d8290ea8f3be0c7e8447b73451a2263bb8 (patch) | |
tree | a0e377b5a383b80b45f6f4c259e773a5a4f2e87f /src/engine/userexperience.cpp | |
parent | 7670257bba2a8dc11c01664bc5f102a8dec17b93 (diff) | |
download | wix-04eff6d8290ea8f3be0c7e8447b73451a2263bb8.tar.gz wix-04eff6d8290ea8f3be0c7e8447b73451a2263bb8.tar.bz2 wix-04eff6d8290ea8f3be0c7e8447b73451a2263bb8.zip |
Implement fDisableUnloading for the BA.
Diffstat (limited to 'src/engine/userexperience.cpp')
-rw-r--r-- | src/engine/userexperience.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/engine/userexperience.cpp b/src/engine/userexperience.cpp index 4d149e9a..24fc1ec7 100644 --- a/src/engine/userexperience.cpp +++ b/src/engine/userexperience.cpp | |||
@@ -97,7 +97,7 @@ extern "C" HRESULT UserExperienceLoad( | |||
97 | args.pCommand = pCommand; | 97 | args.pCommand = pCommand; |
98 | args.pfnBootstrapperEngineProc = EngineForApplicationProc; | 98 | args.pfnBootstrapperEngineProc = EngineForApplicationProc; |
99 | args.pvBootstrapperEngineProcContext = pEngineContext; | 99 | args.pvBootstrapperEngineProcContext = pEngineContext; |
100 | args.qwEngineAPIVersion = MAKEQWORDVERSION(0, 0, 0, 6); // TODO: need to decide whether to keep this, and if so when to update it. | 100 | args.qwEngineAPIVersion = MAKEQWORDVERSION(0, 0, 0, 7); // TODO: need to decide whether to keep this, and if so when to update it. |
101 | 101 | ||
102 | results.cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS); | 102 | results.cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS); |
103 | 103 | ||
@@ -115,6 +115,7 @@ extern "C" HRESULT UserExperienceLoad( | |||
115 | 115 | ||
116 | pUserExperience->pfnBAProc = results.pfnBootstrapperApplicationProc; | 116 | pUserExperience->pfnBAProc = results.pfnBootstrapperApplicationProc; |
117 | pUserExperience->pvBAProcContext = results.pvBootstrapperApplicationProcContext; | 117 | pUserExperience->pvBAProcContext = results.pvBootstrapperApplicationProcContext; |
118 | pUserExperience->fDisableUnloading = results.fDisableUnloading; | ||
118 | 119 | ||
119 | LExit: | 120 | LExit: |
120 | return hr; | 121 | return hr; |
@@ -139,8 +140,8 @@ extern "C" HRESULT UserExperienceUnload( | |||
139 | pfnDestroy(); | 140 | pfnDestroy(); |
140 | } | 141 | } |
141 | 142 | ||
142 | // Free BA DLL. | 143 | // Free BA DLL if it supports it. |
143 | if (!::FreeLibrary(pUserExperience->hUXModule)) | 144 | if (!pUserExperience->fDisableUnloading && !::FreeLibrary(pUserExperience->hUXModule)) |
144 | { | 145 | { |
145 | hr = HRESULT_FROM_WIN32(::GetLastError()); | 146 | hr = HRESULT_FROM_WIN32(::GetLastError()); |
146 | TraceError(hr, "Failed to unload BA DLL."); | 147 | TraceError(hr, "Failed to unload BA DLL."); |