aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Bal
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2022-08-14 17:24:59 -0400
committerBob Arnson <github@bobs.org>2022-08-14 18:11:00 -0400
commit6573eb709147ec52455d03fde60ad567bc79d1bd (patch)
treebdfd6da4ec54fef7459670077bcd42d712c5d840 /src/ext/Bal
parent0a97d7aafcbb564b7bc9f4e754f39055fd38ae4f (diff)
downloadwix-6573eb709147ec52455d03fde60ad567bc79d1bd.tar.gz
wix-6573eb709147ec52455d03fde60ad567bc79d1bd.tar.bz2
wix-6573eb709147ec52455d03fde60ad567bc79d1bd.zip
Fix OnExecuteMsiMessage to return chosen result.
Diffstat (limited to 'src/ext/Bal')
-rw-r--r--src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp b/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp
index 0f1a9f49..fc262e0e 100644
--- a/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp
+++ b/src/ext/Bal/wixstdba/WixStandardBootstrapperApplication.cpp
@@ -832,12 +832,16 @@ public: // IBootstrapperApplication
832 __in DWORD dwCode, 832 __in DWORD dwCode,
833 __in_z LPCWSTR wzError, 833 __in_z LPCWSTR wzError,
834 __in DWORD dwUIHint, 834 __in DWORD dwUIHint,
835 __in DWORD /*cData*/, 835 __in DWORD cData,
836 __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, 836 __in_ecount_z_opt(cData) LPCWSTR* rgwzData,
837 __in int /*nRecommendation*/, 837 __in int nRecommendation,
838 __inout int* pResult 838 __inout int* pResult
839 ) 839 )
840 { 840 {
841#ifdef DEBUG
842 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnError() - package: %ls, code: %d, ui hint: %d, message: %ls", wzPackageId, dwCode, dwUIHint, wzError);
843#endif
844
841 HRESULT hr = S_OK; 845 HRESULT hr = S_OK;
842 int nResult = *pResult; 846 int nResult = *pResult;
843 LPWSTR sczError = NULL; 847 LPWSTR sczError = NULL;
@@ -887,8 +891,14 @@ public: // IBootstrapperApplication
887 } 891 }
888 892
889 ReleaseStr(sczError); 893 ReleaseStr(sczError);
894
890 *pResult = nResult; 895 *pResult = nResult;
891 return hr; 896
897#ifdef DEBUG
898 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnError() - package: %ls, hr: 0x%0x, result: %d", wzPackageId, hr, nResult);
899#endif
900
901 return FAILED(hr) ? hr : __super::OnError(errorType, wzPackageId, dwCode, wzError, dwUIHint, cData, rgwzData, nRecommendation, pResult);
892 } 902 }
893 903
894 904
@@ -906,12 +916,16 @@ public: // IBootstrapperApplication
906#ifdef DEBUG 916#ifdef DEBUG
907 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnExecuteMsiMessage() - package: %ls, message: %ls", wzPackageId, wzMessage); 917 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: OnExecuteMsiMessage() - package: %ls, message: %ls", wzPackageId, wzMessage);
908#endif 918#endif
919
909 if (BOOTSTRAPPER_DISPLAY_FULL == m_command.display && (INSTALLMESSAGE_WARNING == messageType || INSTALLMESSAGE_USER == messageType)) 920 if (BOOTSTRAPPER_DISPLAY_FULL == m_command.display && (INSTALLMESSAGE_WARNING == messageType || INSTALLMESSAGE_USER == messageType))
910 { 921 {
911 if (!m_fShowingInternalUiThisPackage) 922 if (!m_fShowingInternalUiThisPackage)
912 { 923 {
913 int nResult = ::MessageBoxW(m_hWnd, wzMessage, m_pTheme->sczCaption, dwUIHint); 924 int nResult = ::MessageBoxW(m_hWnd, wzMessage, m_pTheme->sczCaption, dwUIHint);
914 return nResult; 925
926 *pResult = nResult;
927
928 return __super::OnExecuteMsiMessage(wzPackageId, messageType, dwUIHint, wzMessage, cData, rgwzData, nRecommendation, pResult);
915 } 929 }
916 } 930 }
917 931