diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-01-14 21:37:24 -0600 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-01-16 10:30:28 -0600 |
| commit | da1d1376953ef1c9afb32d5eee02b785e52e372e (patch) | |
| tree | 0df8550960259d7b13f5cd90f04d21b5576f16b7 /src/api/burn/balutil | |
| parent | abe316b80fae80eba54b0b79e76b6362105fa098 (diff) | |
| download | wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.tar.gz wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.tar.bz2 wix-da1d1376953ef1c9afb32d5eee02b785e52e372e.zip | |
Remove orphan compatible MSI packages.
Reimplements #3190
Diffstat (limited to 'src/api/burn/balutil')
6 files changed, 174 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/BAFunctions.h b/src/api/burn/balutil/inc/BAFunctions.h index 2698a6e3..84359d65 100644 --- a/src/api/burn/balutil/inc/BAFunctions.h +++ b/src/api/burn/balutil/inc/BAFunctions.h | |||
| @@ -84,6 +84,10 @@ enum BA_FUNCTIONS_MESSAGE | |||
| 84 | BA_FUNCTIONS_MESSAGE_ONPLANROLLBACKBOUNDARY = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY, | 84 | BA_FUNCTIONS_MESSAGE_ONPLANROLLBACKBOUNDARY = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY, |
| 85 | BA_FUNCTIONS_MESSAGE_ONSETUPDATEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATEBEGIN, | 85 | BA_FUNCTIONS_MESSAGE_ONSETUPDATEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATEBEGIN, |
| 86 | BA_FUNCTIONS_MESSAGE_ONSETUPDATECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE, | 86 | BA_FUNCTIONS_MESSAGE_ONSETUPDATECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE, |
| 87 | BA_FUNCTIONS_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE, | ||
| 88 | BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN, | ||
| 89 | BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE, | ||
| 90 | BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE, | ||
| 87 | 91 | ||
| 88 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, | 92 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, |
| 89 | BA_FUNCTIONS_MESSAGE_WNDPROC, | 93 | BA_FUNCTIONS_MESSAGE_WNDPROC, |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h index 22e16f1b..c6d0924f 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h | |||
| @@ -182,6 +182,16 @@ public: // IBootstrapperApplication | |||
| 182 | return S_OK; | 182 | return S_OK; |
| 183 | } | 183 | } |
| 184 | 184 | ||
| 185 | virtual STDMETHODIMP OnDetectCompatibleMsiPackage( | ||
| 186 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 187 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 188 | __in LPCWSTR /*wzCompatiblePackageVersion*/, | ||
| 189 | __inout BOOL* /*pfCancel*/ | ||
| 190 | ) | ||
| 191 | { | ||
| 192 | return S_OK; | ||
| 193 | } | ||
| 194 | |||
| 185 | virtual STDMETHODIMP OnDetectRelatedMsiPackage( | 195 | virtual STDMETHODIMP OnDetectRelatedMsiPackage( |
| 186 | __in_z LPCWSTR /*wzPackageId*/, | 196 | __in_z LPCWSTR /*wzPackageId*/, |
| 187 | __in_z LPCWSTR /*wzUpgradeCode*/, | 197 | __in_z LPCWSTR /*wzUpgradeCode*/, |
| @@ -276,6 +286,28 @@ public: // IBootstrapperApplication | |||
| 276 | return S_OK; | 286 | return S_OK; |
| 277 | } | 287 | } |
| 278 | 288 | ||
| 289 | virtual STDMETHODIMP OnPlanCompatibleMsiPackageBegin( | ||
| 290 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 291 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 292 | __in LPCWSTR /*wzCompatiblePackageVersion*/, | ||
| 293 | __in BOOL /*fRecommendedRemove*/, | ||
| 294 | __inout BOOL* /*pfRequestRemove*/, | ||
| 295 | __inout BOOL* /*pfCancel*/ | ||
| 296 | ) | ||
| 297 | { | ||
| 298 | return S_OK; | ||
| 299 | } | ||
| 300 | |||
| 301 | virtual STDMETHODIMP OnPlanCompatibleMsiPackageComplete( | ||
| 302 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 303 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 304 | __in HRESULT /*hrStatus*/, | ||
| 305 | __in BOOL /*fRequestedRemove*/ | ||
| 306 | ) | ||
| 307 | { | ||
| 308 | return S_OK; | ||
| 309 | } | ||
| 310 | |||
| 279 | virtual STDMETHODIMP OnPlanPatchTarget( | 311 | virtual STDMETHODIMP OnPlanPatchTarget( |
| 280 | __in_z LPCWSTR /*wzPackageId*/, | 312 | __in_z LPCWSTR /*wzPackageId*/, |
| 281 | __in_z LPCWSTR /*wzProductCode*/, | 313 | __in_z LPCWSTR /*wzProductCode*/, |
| @@ -322,6 +354,15 @@ public: // IBootstrapperApplication | |||
| 322 | return S_OK; | 354 | return S_OK; |
| 323 | } | 355 | } |
| 324 | 356 | ||
| 357 | virtual STDMETHODIMP OnPlannedCompatiblePackage( | ||
| 358 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 359 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 360 | __in BOOL /*fRemove*/ | ||
| 361 | ) | ||
| 362 | { | ||
| 363 | return S_OK; | ||
| 364 | } | ||
| 365 | |||
| 325 | virtual STDMETHODIMP OnPlannedPackage( | 366 | virtual STDMETHODIMP OnPlannedPackage( |
| 326 | __in_z LPCWSTR /*wzPackageId*/, | 367 | __in_z LPCWSTR /*wzPackageId*/, |
| 327 | __in BOOTSTRAPPER_ACTION_STATE /*execute*/, | 368 | __in BOOTSTRAPPER_ACTION_STATE /*execute*/, |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h index 1ab0df59..5d5ff098 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h | |||
| @@ -155,6 +155,10 @@ static HRESULT WINAPI BalBaseBAFunctionsProc( | |||
| 155 | case BA_FUNCTIONS_MESSAGE_ONPLANROLLBACKBOUNDARY: | 155 | case BA_FUNCTIONS_MESSAGE_ONPLANROLLBACKBOUNDARY: |
| 156 | case BA_FUNCTIONS_MESSAGE_ONSETUPDATEBEGIN: | 156 | case BA_FUNCTIONS_MESSAGE_ONSETUPDATEBEGIN: |
| 157 | case BA_FUNCTIONS_MESSAGE_ONSETUPDATECOMPLETE: | 157 | case BA_FUNCTIONS_MESSAGE_ONSETUPDATECOMPLETE: |
| 158 | case BA_FUNCTIONS_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE: | ||
| 159 | case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN: | ||
| 160 | case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE: | ||
| 161 | case BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: | ||
| 158 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); | 162 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); |
| 159 | break; | 163 | break; |
| 160 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: | 164 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h index 631d3c62..e1a36fdf 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h | |||
| @@ -189,6 +189,17 @@ public: // IBootstrapperApplication | |||
| 189 | return S_OK; | 189 | return S_OK; |
| 190 | } | 190 | } |
| 191 | 191 | ||
| 192 | virtual STDMETHODIMP OnDetectCompatibleMsiPackage( | ||
| 193 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 194 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 195 | __in LPCWSTR /*wzCompatiblePackageVersion*/, | ||
| 196 | __inout BOOL* pfCancel | ||
| 197 | ) | ||
| 198 | { | ||
| 199 | *pfCancel |= CheckCanceled(); | ||
| 200 | return S_OK; | ||
| 201 | } | ||
| 202 | |||
| 192 | virtual STDMETHODIMP OnDetectRelatedMsiPackage( | 203 | virtual STDMETHODIMP OnDetectRelatedMsiPackage( |
| 193 | __in_z LPCWSTR /*wzPackageId*/, | 204 | __in_z LPCWSTR /*wzPackageId*/, |
| 194 | __in_z LPCWSTR /*wzUpgradeCode*/, | 205 | __in_z LPCWSTR /*wzUpgradeCode*/, |
| @@ -290,6 +301,29 @@ public: // IBootstrapperApplication | |||
| 290 | return S_OK; | 301 | return S_OK; |
| 291 | } | 302 | } |
| 292 | 303 | ||
| 304 | virtual STDMETHODIMP OnPlanCompatibleMsiPackageBegin( | ||
| 305 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 306 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 307 | __in LPCWSTR /*wzCompatiblePackageVersion*/, | ||
| 308 | __in BOOL /*fRecommendedRemove*/, | ||
| 309 | __inout BOOL* /*pfRequestRemove*/, | ||
| 310 | __inout BOOL* pfCancel | ||
| 311 | ) | ||
| 312 | { | ||
| 313 | *pfCancel |= CheckCanceled(); | ||
| 314 | return S_OK; | ||
| 315 | } | ||
| 316 | |||
| 317 | virtual STDMETHODIMP OnPlanCompatibleMsiPackageComplete( | ||
| 318 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 319 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 320 | __in HRESULT /*hrStatus*/, | ||
| 321 | __in BOOL /*fRequestedRemove*/ | ||
| 322 | ) | ||
| 323 | { | ||
| 324 | return S_OK; | ||
| 325 | } | ||
| 326 | |||
| 293 | virtual STDMETHODIMP OnPlanPatchTarget( | 327 | virtual STDMETHODIMP OnPlanPatchTarget( |
| 294 | __in_z LPCWSTR /*wzPackageId*/, | 328 | __in_z LPCWSTR /*wzPackageId*/, |
| 295 | __in_z LPCWSTR /*wzProductCode*/, | 329 | __in_z LPCWSTR /*wzProductCode*/, |
| @@ -339,6 +373,15 @@ public: // IBootstrapperApplication | |||
| 339 | return S_OK; | 373 | return S_OK; |
| 340 | } | 374 | } |
| 341 | 375 | ||
| 376 | virtual STDMETHODIMP OnPlannedCompatiblePackage( | ||
| 377 | __in_z LPCWSTR /*wzPackageId*/, | ||
| 378 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
| 379 | __in BOOL /*fRemove*/ | ||
| 380 | ) | ||
| 381 | { | ||
| 382 | return S_OK; | ||
| 383 | } | ||
| 384 | |||
| 342 | virtual STDMETHODIMP OnPlannedPackage( | 385 | virtual STDMETHODIMP OnPlannedPackage( |
| 343 | __in_z LPCWSTR /*wzPackageId*/, | 386 | __in_z LPCWSTR /*wzPackageId*/, |
| 344 | __in BOOTSTRAPPER_ACTION_STATE /*execute*/, | 387 | __in BOOTSTRAPPER_ACTION_STATE /*execute*/, |
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( | |||
| 126 | return pBA->OnDetectPackageBegin(pArgs->wzPackageId, &pResults->fCancel); | 126 | return pBA->OnDetectPackageBegin(pArgs->wzPackageId, &pResults->fCancel); |
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | static HRESULT BalBaseBAProcOnDetectCompatiblePackage( | ||
| 130 | __in IBootstrapperApplication* pBA, | ||
| 131 | __in BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS* pArgs, | ||
| 132 | __inout BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS* pResults | ||
| 133 | ) | ||
| 134 | { | ||
| 135 | return pBA->OnDetectCompatibleMsiPackage(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->wzCompatiblePackageVersion, &pResults->fCancel); | ||
| 136 | } | ||
| 137 | |||
| 129 | static HRESULT BalBaseBAProcOnDetectRelatedMsiPackage( | 138 | static HRESULT BalBaseBAProcOnDetectRelatedMsiPackage( |
| 130 | __in IBootstrapperApplication* pBA, | 139 | __in IBootstrapperApplication* pBA, |
| 131 | __in BA_ONDETECTRELATEDMSIPACKAGE_ARGS* pArgs, | 140 | __in BA_ONDETECTRELATEDMSIPACKAGE_ARGS* pArgs, |
| @@ -189,6 +198,24 @@ static HRESULT BalBaseBAProcOnPlanPackageBegin( | |||
| 189 | return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->state, pArgs->fCached, pArgs->installCondition, pArgs->recommendedState, pArgs->recommendedCacheType, &pResults->requestedState, &pResults->requestedCacheType, &pResults->fCancel); | 198 | return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->state, pArgs->fCached, pArgs->installCondition, pArgs->recommendedState, pArgs->recommendedCacheType, &pResults->requestedState, &pResults->requestedCacheType, &pResults->fCancel); |
| 190 | } | 199 | } |
| 191 | 200 | ||
| 201 | static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageBegin( | ||
| 202 | __in IBootstrapperApplication* pBA, | ||
| 203 | __in BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS* pArgs, | ||
| 204 | __inout BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS* pResults | ||
| 205 | ) | ||
| 206 | { | ||
| 207 | return pBA->OnPlanCompatibleMsiPackageBegin(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->wzCompatiblePackageVersion, pArgs->fRecommendedRemove, &pResults->fRequestRemove, &pResults->fCancel); | ||
| 208 | } | ||
| 209 | |||
| 210 | static HRESULT BalBaseBAProcOnPlanCompatibleMsiPackageComplete( | ||
| 211 | __in IBootstrapperApplication* pBA, | ||
| 212 | __in BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS* pArgs, | ||
| 213 | __inout BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS* /*pResults*/ | ||
| 214 | ) | ||
| 215 | { | ||
| 216 | return pBA->OnPlanCompatibleMsiPackageComplete(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->hrStatus, pArgs->fRequestedRemove); | ||
| 217 | } | ||
| 218 | |||
| 192 | static HRESULT BalBaseBAProcOnPlanPatchTarget( | 219 | static HRESULT BalBaseBAProcOnPlanPatchTarget( |
| 193 | __in IBootstrapperApplication* pBA, | 220 | __in IBootstrapperApplication* pBA, |
| 194 | __in BA_ONPLANPATCHTARGET_ARGS* pArgs, | 221 | __in BA_ONPLANPATCHTARGET_ARGS* pArgs, |
| @@ -216,6 +243,15 @@ static HRESULT BalBaseBAProcOnPlanPackageComplete( | |||
| 216 | return pBA->OnPlanPackageComplete(pArgs->wzPackageId, pArgs->hrStatus, pArgs->requested); | 243 | return pBA->OnPlanPackageComplete(pArgs->wzPackageId, pArgs->hrStatus, pArgs->requested); |
| 217 | } | 244 | } |
| 218 | 245 | ||
| 246 | static HRESULT BalBaseBAProcOnPlannedCompatiblePackage( | ||
| 247 | __in IBootstrapperApplication* pBA, | ||
| 248 | __in BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS* pArgs, | ||
| 249 | __inout BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS* /*pResults*/ | ||
| 250 | ) | ||
| 251 | { | ||
| 252 | return pBA->OnPlannedCompatiblePackage(pArgs->wzPackageId, pArgs->wzCompatiblePackageId, pArgs->fRemove); | ||
| 253 | } | ||
| 254 | |||
| 219 | static HRESULT BalBaseBAProcOnPlannedPackage( | 255 | static HRESULT BalBaseBAProcOnPlannedPackage( |
| 220 | __in IBootstrapperApplication* pBA, | 256 | __in IBootstrapperApplication* pBA, |
| 221 | __in BA_ONPLANNEDPACKAGE_ARGS* pArgs, | 257 | __in BA_ONPLANNEDPACKAGE_ARGS* pArgs, |
| @@ -928,6 +964,18 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( | |||
| 928 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE: | 964 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE: |
| 929 | hr = BalBaseBAProcOnSetUpdateComplete(pBA, reinterpret_cast<BA_ONSETUPDATECOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONSETUPDATECOMPLETE_RESULTS*>(pvResults)); | 965 | hr = BalBaseBAProcOnSetUpdateComplete(pBA, reinterpret_cast<BA_ONSETUPDATECOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONSETUPDATECOMPLETE_RESULTS*>(pvResults)); |
| 930 | break; | 966 | break; |
| 967 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE: | ||
| 968 | hr = BalBaseBAProcOnDetectCompatiblePackage(pBA, reinterpret_cast<BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS*>(pvResults)); | ||
| 969 | break; | ||
| 970 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN: | ||
| 971 | hr = BalBaseBAProcOnPlanCompatibleMsiPackageBegin(pBA, reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS*>(pvResults)); | ||
| 972 | break; | ||
| 973 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE: | ||
| 974 | hr = BalBaseBAProcOnPlanCompatibleMsiPackageComplete(pBA, reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS*>(pvResults)); | ||
| 975 | break; | ||
| 976 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: | ||
| 977 | hr = BalBaseBAProcOnPlannedCompatiblePackage(pBA, reinterpret_cast<BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS*>(pvResults)); | ||
| 978 | break; | ||
| 931 | } | 979 | } |
| 932 | } | 980 | } |
| 933 | 981 | ||
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 | |||
| 101 | __inout BOOL* pfCancel | 101 | __inout BOOL* pfCancel |
| 102 | ) = 0; | 102 | ) = 0; |
| 103 | 103 | ||
| 104 | // OnDetectCompatibleMsiPackage - called when the engine detects that a package is not installed but a newer package using the same provider key is. | ||
| 105 | STDMETHOD(OnDetectCompatibleMsiPackage)( | ||
| 106 | __in_z LPCWSTR wzPackageId, | ||
| 107 | __in_z LPCWSTR wzCompatiblePackageId, | ||
| 108 | __in_z LPCWSTR wzCompatiblePackageVersion, | ||
| 109 | __inout BOOL* pfCancel | ||
| 110 | ) = 0; | ||
| 111 | |||
| 104 | // OnDetectRelatedMsiPackage - called when the engine begins detects a related package. | 112 | // OnDetectRelatedMsiPackage - called when the engine begins detects a related package. |
| 105 | STDMETHOD(OnDetectRelatedMsiPackage)( | 113 | STDMETHOD(OnDetectRelatedMsiPackage)( |
| 106 | __in_z LPCWSTR wzPackageId, | 114 | __in_z LPCWSTR wzPackageId, |
| @@ -181,6 +189,25 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
| 181 | __inout BOOL* pfCancel | 189 | __inout BOOL* pfCancel |
| 182 | ) = 0; | 190 | ) = 0; |
| 183 | 191 | ||
| 192 | // OnPlanCompatibleMsiPackageBegin - called when the engine plans a newer, compatible package using the same provider key. | ||
| 193 | STDMETHOD(OnPlanCompatibleMsiPackageBegin)( | ||
| 194 | __in_z LPCWSTR wzPackageId, | ||
| 195 | __in_z LPCWSTR wzCompatiblePackageId, | ||
| 196 | __in_z LPCWSTR wzCompatiblePackageVersion, | ||
| 197 | __in BOOL fRecommendedRemove, | ||
| 198 | __inout BOOL* pfRequestRemove, | ||
| 199 | __inout BOOL* pfCancel | ||
| 200 | ) = 0; | ||
| 201 | |||
| 202 | // OnPlanCompatibleMsiPackageComplete - called after the engine plans the package. | ||
| 203 | // | ||
| 204 | STDMETHOD(OnPlanCompatibleMsiPackageComplete)( | ||
| 205 | __in_z LPCWSTR wzPackageId, | ||
| 206 | __in_z LPCWSTR wzCompatiblePackageId, | ||
| 207 | __in HRESULT hrStatus, | ||
| 208 | __in BOOL fRequestedRemove | ||
| 209 | ) = 0; | ||
| 210 | |||
| 184 | // OnPlanPatchTarget - called when the engine is about to plan a target | 211 | // OnPlanPatchTarget - called when the engine is about to plan a target |
| 185 | // of an MSP package. | 212 | // of an MSP package. |
| 186 | STDMETHOD(OnPlanPatchTarget)( | 213 | STDMETHOD(OnPlanPatchTarget)( |
| @@ -223,6 +250,13 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
| 223 | __in BOOTSTRAPPER_REQUEST_STATE requested | 250 | __in BOOTSTRAPPER_REQUEST_STATE requested |
| 224 | ) = 0; | 251 | ) = 0; |
| 225 | 252 | ||
| 253 | // OnPlannedCompatiblePackage - called after the engine has completed planning a compatible package. | ||
| 254 | STDMETHOD(OnPlannedCompatiblePackage)( | ||
| 255 | __in_z LPCWSTR wzPackageId, | ||
| 256 | __in_z LPCWSTR wzCompatiblePackageId, | ||
| 257 | __in BOOL fRemove | ||
| 258 | ) = 0; | ||
| 259 | |||
| 226 | // OnPlannedPackage - called after the engine has completed planning a package. | 260 | // OnPlannedPackage - called after the engine has completed planning a package. |
| 227 | STDMETHOD(OnPlannedPackage)( | 261 | STDMETHOD(OnPlannedPackage)( |
| 228 | __in_z LPCWSTR wzPackageId, | 262 | __in_z LPCWSTR wzPackageId, |
