summaryrefslogtreecommitdiff
path: root/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
diff options
context:
space:
mode:
authorNir Bar <nir.bar@panel-sw.co.il>2022-12-06 13:22:41 +0200
committerSean Hall <r.sean.hall@gmail.com>2022-12-12 21:50:39 -0600
commit50e24e9cf2084b6cb67b5d8fc509163061408bb6 (patch)
tree05c9df57480eb6308c3462c13847b43288f9dbb4 /src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
parentc54f3083489827a1e57c6fd7f3d76f62ddc6e85e (diff)
downloadwix-50e24e9cf2084b6cb67b5d8fc509163061408bb6.tar.gz
wix-50e24e9cf2084b6cb67b5d8fc509163061408bb6.tar.bz2
wix-50e24e9cf2084b6cb67b5d8fc509163061408bb6.zip
Use MSI transaction end result to detect whether reboot is needed
Diffstat (limited to 'src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h')
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h32
1 files changed, 27 insertions, 5 deletions
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
index 58cc0673..c8b80d13 100644
--- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
+++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
@@ -197,7 +197,7 @@ public: // IBootstrapperApplication
197 __in LPCWSTR /*wzVersion*/, 197 __in LPCWSTR /*wzVersion*/,
198 __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, 198 __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/,
199 __inout BOOL* pfCancel 199 __inout BOOL* pfCancel
200 ) 200 )
201 { 201 {
202 *pfCancel |= CheckCanceled(); 202 *pfCancel |= CheckCanceled();
203 return S_OK; 203 return S_OK;
@@ -902,10 +902,21 @@ public: // IBootstrapperApplication
902 902
903 virtual STDMETHODIMP OnCommitMsiTransactionComplete( 903 virtual STDMETHODIMP OnCommitMsiTransactionComplete(
904 __in_z LPCWSTR /*wzTransactionId*/, 904 __in_z LPCWSTR /*wzTransactionId*/,
905 __in HRESULT /*hrStatus*/ 905 __in HRESULT /*hrStatus*/,
906 __in BOOTSTRAPPER_APPLY_RESTART /*restart*/,
907 __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/,
908 __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/
906 ) 909 )
907 { 910 {
908 return S_OK; 911 HRESULT hr = S_OK;
912
913 if (CheckCanceled())
914 {
915 ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT));
916 }
917
918 LExit:
919 return hr;
909 } 920 }
910 921
911 virtual STDMETHODIMP OnRollbackMsiTransactionBegin( 922 virtual STDMETHODIMP OnRollbackMsiTransactionBegin(
@@ -917,10 +928,21 @@ public: // IBootstrapperApplication
917 928
918 virtual STDMETHODIMP OnRollbackMsiTransactionComplete( 929 virtual STDMETHODIMP OnRollbackMsiTransactionComplete(
919 __in_z LPCWSTR /*wzTransactionId*/, 930 __in_z LPCWSTR /*wzTransactionId*/,
920 __in HRESULT /*hrStatus*/ 931 __in HRESULT /*hrStatus*/,
932 __in BOOTSTRAPPER_APPLY_RESTART /*restart*/,
933 __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/,
934 __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/
921 ) 935 )
922 { 936 {
923 return S_OK; 937 HRESULT hr = S_OK;
938
939 if (CheckCanceled())
940 {
941 ExitFunction1(hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT));
942 }
943
944 LExit:
945 return hr;
924 } 946 }
925 947
926 virtual STDMETHODIMP OnPauseAutomaticUpdatesBegin( 948 virtual STDMETHODIMP OnPauseAutomaticUpdatesBegin(