diff options
author | Bob Arnson <bob@firegiant.com> | 2022-08-14 17:24:59 -0400 |
---|---|---|
committer | Bob Arnson <github@bobs.org> | 2022-08-14 18:11:00 -0400 |
commit | 6573eb709147ec52455d03fde60ad567bc79d1bd (patch) | |
tree | bdfd6da4ec54fef7459670077bcd42d712c5d840 /src/ext/Bal | |
parent | 0a97d7aafcbb564b7bc9f4e754f39055fd38ae4f (diff) | |
download | wix-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.cpp | 24 |
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 | ||