From da1d1376953ef1c9afb32d5eee02b785e52e372e Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 14 Jan 2022 21:37:24 -0600 Subject: Remove orphan compatible MSI packages. Reimplements #3190 --- .../burn/balutil/inc/IBootstrapperApplication.h | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/api/burn/balutil/inc/IBootstrapperApplication.h') diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h index 577a705b..640f609d 100644 --- a/src/api/burn/balutil/inc/IBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h @@ -101,6 +101,14 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __inout BOOL* pfCancel ) = 0; + // OnDetectCompatibleMsiPackage - called when the engine detects that a package is not installed but a newer package using the same provider key is. + STDMETHOD(OnDetectCompatibleMsiPackage)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzCompatiblePackageId, + __in_z LPCWSTR wzCompatiblePackageVersion, + __inout BOOL* pfCancel + ) = 0; + // OnDetectRelatedMsiPackage - called when the engine begins detects a related package. STDMETHOD(OnDetectRelatedMsiPackage)( __in_z LPCWSTR wzPackageId, @@ -181,6 +189,25 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __inout BOOL* pfCancel ) = 0; + // OnPlanCompatibleMsiPackageBegin - called when the engine plans a newer, compatible package using the same provider key. + STDMETHOD(OnPlanCompatibleMsiPackageBegin)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzCompatiblePackageId, + __in_z LPCWSTR wzCompatiblePackageVersion, + __in BOOL fRecommendedRemove, + __inout BOOL* pfRequestRemove, + __inout BOOL* pfCancel + ) = 0; + + // OnPlanCompatibleMsiPackageComplete - called after the engine plans the package. + // + STDMETHOD(OnPlanCompatibleMsiPackageComplete)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzCompatiblePackageId, + __in HRESULT hrStatus, + __in BOOL fRequestedRemove + ) = 0; + // OnPlanPatchTarget - called when the engine is about to plan a target // of an MSP package. STDMETHOD(OnPlanPatchTarget)( @@ -223,6 +250,13 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __in BOOTSTRAPPER_REQUEST_STATE requested ) = 0; + // OnPlannedCompatiblePackage - called after the engine has completed planning a compatible package. + STDMETHOD(OnPlannedCompatiblePackage)( + __in_z LPCWSTR wzPackageId, + __in_z LPCWSTR wzCompatiblePackageId, + __in BOOL fRemove + ) = 0; + // OnPlannedPackage - called after the engine has completed planning a package. STDMETHOD(OnPlannedPackage)( __in_z LPCWSTR wzPackageId, -- cgit v1.2.3-55-g6feb