aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/balutil
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/burn/balutil')
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctions.h10
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h32
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h10
-rw-r--r--src/api/burn/balutil/inc/IBootstrapperApplication.h12
4 files changed, 49 insertions, 15 deletions
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
index 9a8ac87e..6ad109c3 100644
--- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h
+++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
@@ -710,7 +710,10 @@ public: // IBootstrapperApplication
710 710
711 virtual STDMETHODIMP OnCommitMsiTransactionComplete( 711 virtual STDMETHODIMP OnCommitMsiTransactionComplete(
712 __in_z LPCWSTR /*wzTransactionId*/, 712 __in_z LPCWSTR /*wzTransactionId*/,
713 __in HRESULT /*hrStatus*/ 713 __in HRESULT /*hrStatus*/,
714 __in BOOTSTRAPPER_APPLY_RESTART /*restart*/,
715 __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/,
716 __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/
714 ) 717 )
715 { 718 {
716 return S_OK; 719 return S_OK;
@@ -725,7 +728,10 @@ public: // IBootstrapperApplication
725 728
726 virtual STDMETHODIMP OnRollbackMsiTransactionComplete( 729 virtual STDMETHODIMP OnRollbackMsiTransactionComplete(
727 __in_z LPCWSTR /*wzTransactionId*/, 730 __in_z LPCWSTR /*wzTransactionId*/,
728 __in HRESULT /*hrStatus*/ 731 __in HRESULT /*hrStatus*/,
732 __in BOOTSTRAPPER_APPLY_RESTART /*restart*/,
733 __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION /*recommendation*/,
734 __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* /*pAction*/
729 ) 735 )
730 { 736 {
731 return S_OK; 737 return S_OK;
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(
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
index 62cb85bc..34739ba3 100644
--- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
+++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
@@ -579,10 +579,10 @@ static HRESULT BalBaseBAProcOnCommitMsiTransactionBegin(
579static HRESULT BalBaseBAProcOnCommitMsiTransactionComplete( 579static HRESULT BalBaseBAProcOnCommitMsiTransactionComplete(
580 __in IBootstrapperApplication* pBA, 580 __in IBootstrapperApplication* pBA,
581 __in BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS* pArgs, 581 __in BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS* pArgs,
582 __inout BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS* /*pResults*/ 582 __inout BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS* pResults
583 ) 583 )
584{ 584{
585 return pBA->OnCommitMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus); 585 return pBA->OnCommitMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus, pArgs->restart, pArgs->recommendation, &pResults->action);
586} 586}
587 587
588static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin( 588static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin(
@@ -597,10 +597,10 @@ static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin(
597static HRESULT BalBaseBAProcOnRollbackMsiTransactionComplete( 597static HRESULT BalBaseBAProcOnRollbackMsiTransactionComplete(
598 __in IBootstrapperApplication* pBA, 598 __in IBootstrapperApplication* pBA,
599 __in BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS* pArgs, 599 __in BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS* pArgs,
600 __inout BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS* /*pResults*/ 600 __inout BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS* pResults
601 ) 601 )
602{ 602{
603 return pBA->OnRollbackMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus); 603 return pBA->OnRollbackMsiTransactionComplete(pArgs->wzTransactionId, pArgs->hrStatus, pArgs->restart, pArgs->recommendation, &pResults->action);
604} 604}
605 605
606static HRESULT BalBaseBAProcOnPauseAutomaticUpdatesBegin( 606static HRESULT BalBaseBAProcOnPauseAutomaticUpdatesBegin(
@@ -780,7 +780,7 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc(
780{ 780{
781 IBootstrapperApplication* pBA = reinterpret_cast<IBootstrapperApplication*>(pvContext); 781 IBootstrapperApplication* pBA = reinterpret_cast<IBootstrapperApplication*>(pvContext);
782 HRESULT hr = pBA->BAProc(message, pvArgs, pvResults, pvContext); 782 HRESULT hr = pBA->BAProc(message, pvArgs, pvResults, pvContext);
783 783
784 if (E_NOTIMPL == hr) 784 if (E_NOTIMPL == hr)
785 { 785 {
786 switch (message) 786 switch (message)
diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h
index fba919ea..faa211e4 100644
--- a/src/api/burn/balutil/inc/IBootstrapperApplication.h
+++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h
@@ -574,7 +574,7 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
574 ) = 0; 574 ) = 0;
575 575
576 // OnLaunchApprovedExeBegin - called before trying to launch the preapproved executable. 576 // OnLaunchApprovedExeBegin - called before trying to launch the preapproved executable.
577 // 577 //
578 STDMETHOD(OnLaunchApprovedExeBegin)( 578 STDMETHOD(OnLaunchApprovedExeBegin)(
579 __inout BOOL* pfCancel 579 __inout BOOL* pfCancel
580 ) = 0; 580 ) = 0;
@@ -603,7 +603,10 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
603 603
604 STDMETHOD(OnCommitMsiTransactionComplete)( 604 STDMETHOD(OnCommitMsiTransactionComplete)(
605 __in_z LPCWSTR wzTransactionId, 605 __in_z LPCWSTR wzTransactionId,
606 __in HRESULT hrStatus 606 __in HRESULT hrStatus,
607 __in BOOTSTRAPPER_APPLY_RESTART restart,
608 __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation,
609 __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* pAction
607 ) = 0; 610 ) = 0;
608 611
609 STDMETHOD(OnRollbackMsiTransactionBegin)( 612 STDMETHOD(OnRollbackMsiTransactionBegin)(
@@ -612,7 +615,10 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
612 615
613 STDMETHOD(OnRollbackMsiTransactionComplete)( 616 STDMETHOD(OnRollbackMsiTransactionComplete)(
614 __in_z LPCWSTR wzTransactionId, 617 __in_z LPCWSTR wzTransactionId,
615 __in HRESULT hrStatus 618 __in HRESULT hrStatus,
619 __in BOOTSTRAPPER_APPLY_RESTART restart,
620 __in BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation,
621 __inout BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION* pAction
616 ) = 0; 622 ) = 0;
617 623
618 STDMETHOD(OnPauseAutomaticUpdatesBegin)( 624 STDMETHOD(OnPauseAutomaticUpdatesBegin)(