diff options
Diffstat (limited to 'src/api/burn/balutil')
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( | |||
579 | static HRESULT BalBaseBAProcOnCommitMsiTransactionComplete( | 579 | static 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 | ||
588 | static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin( | 588 | static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin( |
@@ -597,10 +597,10 @@ static HRESULT BalBaseBAProcOnRollbackMsiTransactionBegin( | |||
597 | static HRESULT BalBaseBAProcOnRollbackMsiTransactionComplete( | 597 | static 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 | ||
606 | static HRESULT BalBaseBAProcOnPauseAutomaticUpdatesBegin( | 606 | static 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)( |