From dea657295df261bb0e3e4d620eeae321531e3a11 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 14 Jun 2022 15:09:49 -0500 Subject: Add ability for non-vital cache package action. --- .../inc/BootstrapperApplication.h | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/api/burn/WixToolset.BootstrapperCore.Native/inc') diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h index ea3be214..ad3ef8a3 100644 --- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h +++ b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h @@ -226,6 +226,7 @@ enum BOOTSTRAPPER_APPLICATION_MESSAGE BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE, BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROCESSCANCEL, BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLEPACKAGE, + BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGENONVITALVALIDATIONFAILURE, }; enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION @@ -257,6 +258,14 @@ enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION_RETRY, }; +enum BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION +{ + BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_NONE, + // Instructs the engine to try to acquire the package so execution can use it. + // Most of the time this is used for installing the package during rollback. + BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_ACQUIRE, +}; + enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION { BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION_NONE, @@ -546,6 +555,8 @@ struct BA_ONCACHEPACKAGEBEGIN_ARGS LPCWSTR wzPackageId; DWORD cCachePayloads; DWORD64 dw64PackageCacheSize; + // If caching a package is not vital, then acquisition will be skipped unless the BA opts in through OnCachePackageNonVitalValidationFailure. + BOOL fVital; }; struct BA_ONCACHEPACKAGEBEGIN_RESULTS @@ -568,6 +579,20 @@ struct BA_ONCACHEPACKAGECOMPLETE_RESULTS BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action; }; +struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_ARGS +{ + DWORD cbSize; + LPCWSTR wzPackageId; + HRESULT hrStatus; + BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation; +}; + +struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_RESULTS +{ + DWORD cbSize; + BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action; +}; + struct BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS { DWORD cbSize; -- cgit v1.2.3-55-g6feb