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 --- .../inc/BalBaseBootstrapperApplicationProc.h | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h') diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h index b9866e4b..1ee5258e 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h @@ -126,6 +126,15 @@ static HRESULT BalBaseBAProcOnDetectPackageBegin( return pBA->OnDetectPackageBegin(pArgs->wzPackageId, &pResults->fCancel); } +static HRESULT BalBaseBAProcOnDetectCompatiblePackage( + __in IBootstrapperApplication* pBA, + __in BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS* pArgs, + __inout BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS* pResults + ) +{ + return pBA->OnDetectCompatibleMsiPackage(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->wzCompatiblePackageVersion, &pResults->fCancel); +} + static HRESULT BalBaseBAProcOnDetectRelatedMsiPackage( __in IBootstrapperApplication* pBA, __in BA_ONDETECTRELATEDMSIPACKAGE_ARGS* pArgs, @@ -189,6 +198,24 @@ static HRESULT BalBaseBAProcOnPlanPackageBegin( return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->state, pArgs->fCached, pArgs->installCondition, pArgs->recommendedState, pArgs->recommendedCacheType, &pResults->requestedState, &pResults->requestedCacheType, &pResults->fCancel); } +static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageBegin( + __in IBootstrapperApplication* pBA, + __in BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS* pArgs, + __inout BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS* pResults + ) +{ + return pBA->OnPlanCompatibleMsiPackageBegin(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->wzCompatiblePackageVersion, pArgs->fRecommendedRemove, &pResults->fRequestRemove, &pResults->fCancel); +} + +static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageComplete( + __in IBootstrapperApplication* pBA, + __in BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS* pArgs, + __inout BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS* /*pResults*/ + ) +{ + return pBA->OnPlanCompatibleMsiPackageComplete(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->hrStatus, pArgs->fRequestedRemove); +} + static HRESULT BalBaseBAProcOnPlanPatchTarget( __in IBootstrapperApplication* pBA, __in BA_ONPLANPATCHTARGET_ARGS* pArgs, @@ -216,6 +243,15 @@ static HRESULT BalBaseBAProcOnPlanPackageComplete( return pBA->OnPlanPackageComplete(pArgs->wzPackageId, pArgs->hrStatus, pArgs->requested); } +static HRESULT BalBaseBAProcOnPlannedCompatiblePackage( + __in IBootstrapperApplication* pBA, + __in BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS* pArgs, + __inout BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS* /*pResults*/ + ) +{ + return pBA->OnPlannedCompatiblePackage(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->fRemove); +} + static HRESULT BalBaseBAProcOnPlannedPackage( __in IBootstrapperApplication* pBA, __in BA_ONPLANNEDPACKAGE_ARGS* pArgs, @@ -928,6 +964,18 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( case BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE: hr = BalBaseBAProcOnSetUpdateComplete(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); break; + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE: + hr = BalBaseBAProcOnDetectCompatiblePackage(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + break; + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN: + hr = BalBaseBAProcOnPlanCompatibleMsiPackageBegin(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + break; + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE: + hr = BalBaseBAProcOnPlanCompatibleMsiPackageComplete(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + break; + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: + hr = BalBaseBAProcOnPlannedCompatiblePackage(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + break; } } -- cgit v1.2.3-55-g6feb