diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2020-05-21 14:13:16 +1000 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2020-05-21 14:18:40 +1000 |
commit | 513286d4798572cc82a78554ef15ef2fe79f407e (patch) | |
tree | 3960b579a914c843f56c9045c59d194162d0a9d2 /src/engine/EngineForApplication.cpp | |
parent | c903a96bd8d61a375448e1a6ad7b40bab8cb24c4 (diff) | |
download | wix-513286d4798572cc82a78554ef15ef2fe79f407e.tar.gz wix-513286d4798572cc82a78554ef15ef2fe79f407e.tar.bz2 wix-513286d4798572cc82a78554ef15ef2fe79f407e.zip |
WIXBUG:5980 Fix bugs around INSTALLUILEVEL_SOURCERESONLY.
Apply requires a valid hWnd since otherwise a source resolution prompt could hang the bundle.
Burn now defaults to INSTALLUILEVEL_NONE by itself if the bundle is not showing UI.
Diffstat (limited to 'src/engine/EngineForApplication.cpp')
-rw-r--r-- | src/engine/EngineForApplication.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/engine/EngineForApplication.cpp b/src/engine/EngineForApplication.cpp index c3600c7b..e559b438 100644 --- a/src/engine/EngineForApplication.cpp +++ b/src/engine/EngineForApplication.cpp | |||
@@ -709,6 +709,12 @@ static HRESULT BAEngineApply( | |||
709 | { | 709 | { |
710 | HRESULT hr = S_OK; | 710 | HRESULT hr = S_OK; |
711 | 711 | ||
712 | ExitOnNull(pArgs->hwndParent, hr, E_INVALIDARG, "BA passed NULL hwndParent to Apply."); | ||
713 | if (!::IsWindow(pArgs->hwndParent)) | ||
714 | { | ||
715 | ExitOnFailure(hr = E_INVALIDARG, "BA passed invalid hwndParent to Apply."); | ||
716 | } | ||
717 | |||
712 | if (!::PostThreadMessageW(pContext->dwThreadId, WM_BURN_APPLY, 0, reinterpret_cast<LPARAM>(pArgs->hwndParent))) | 718 | if (!::PostThreadMessageW(pContext->dwThreadId, WM_BURN_APPLY, 0, reinterpret_cast<LPARAM>(pArgs->hwndParent))) |
713 | { | 719 | { |
714 | ExitWithLastError(hr, "Failed to post apply message."); | 720 | ExitWithLastError(hr, "Failed to post apply message."); |