summaryrefslogtreecommitdiff
path: root/src/api/burn/balutil/inc
diff options
context:
space:
mode:
authorNir Bar <nir.bar@panel-sw.co.il>2021-08-11 15:37:34 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-08-12 14:50:55 -0500
commit0042e3d4554a0d92e1da6141854b0f1aafa07d5b (patch)
tree7dcd25456993d6a9d68b9afd21fd1d1f77bd2a5e /src/api/burn/balutil/inc
parentc6b138ed166e30c750e499919b858dc6913937b6 (diff)
downloadwix-0042e3d4554a0d92e1da6141854b0f1aafa07d5b.tar.gz
wix-0042e3d4554a0d92e1da6141854b0f1aafa07d5b.tar.bz2
wix-0042e3d4554a0d92e1da6141854b0f1aafa07d5b.zip
Allow BA to opt out of MSI transaction.
Diffstat (limited to 'src/api/burn/balutil/inc')
-rw-r--r--src/api/burn/balutil/inc/BAFunctions.h1
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctions.h10
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h8
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h11
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h12
-rw-r--r--src/api/burn/balutil/inc/IBootstrapperApplication.h8
6 files changed, 50 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/BAFunctions.h b/src/api/burn/balutil/inc/BAFunctions.h
index 2970478f..43786701 100644
--- a/src/api/burn/balutil/inc/BAFunctions.h
+++ b/src/api/burn/balutil/inc/BAFunctions.h
@@ -81,6 +81,7 @@ enum BA_FUNCTIONS_MESSAGE
81 BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN, 81 BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN,
82 BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE, 82 BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE,
83 BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS, 83 BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS = BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS,
84 BA_FUNCTIONS_MESSAGE_ONPLANROLLBACKBOUNDARY = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY,
84 85
85 BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, 86 BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024,
86 BA_FUNCTIONS_MESSAGE_WNDPROC, 87 BA_FUNCTIONS_MESSAGE_WNDPROC,
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
index c5771efc..a3054709 100644
--- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h
+++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
@@ -255,6 +255,16 @@ public: // IBootstrapperApplication
255 return S_OK; 255 return S_OK;
256 } 256 }
257 257
258 virtual STDMETHODIMP OnPlanRollbackBoundary(
259 __in_z LPCWSTR /*wzRollbackBoundaryId*/,
260 __in BOOL /*fRecommendedTransaction*/,
261 __inout BOOL* /*pfTransaction*/,
262 __inout BOOL* /*pfCancel*/
263 )
264 {
265 return S_OK;
266 }
267
258 virtual STDMETHODIMP OnPlanPackageBegin( 268 virtual STDMETHODIMP OnPlanPackageBegin(
259 __in_z LPCWSTR /*wzPackageId*/, 269 __in_z LPCWSTR /*wzPackageId*/,
260 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, 270 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h
index 7e89fe83..8d1227fc 100644
--- a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h
+++ b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h
@@ -109,6 +109,14 @@ static HRESULT WINAPI BalBaseBAFunctionsProc(
109 case BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE: 109 case BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE:
110 case BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE: 110 case BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE:
111 case BA_FUNCTIONS_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE: 111 case BA_FUNCTIONS_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE:
112 case BA_FUNCTIONS_MESSAGE_ONCACHEVERIFYPROGRESS:
113 case BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN:
114 case BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE:
115 case BA_FUNCTIONS_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS:
116 case BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN:
117 case BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE:
118 case BA_FUNCTIONS_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS:
119 case BA_FUNCTIONS_MESSAGE_ONPLANROLLBACKBOUNDARY:
112 hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); 120 hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext);
113 break; 121 break;
114 case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: 122 case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED:
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
index 53fa369b..4c07ba89 100644
--- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
+++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h
@@ -264,6 +264,17 @@ public: // IBootstrapperApplication
264 return S_OK; 264 return S_OK;
265 } 265 }
266 266
267 virtual STDMETHODIMP OnPlanRollbackBoundary(
268 __in_z LPCWSTR /*wzRollbackBoundaryId*/,
269 __in BOOL /*fRecommendedTransaction*/,
270 __inout BOOL* /*pfTransaction*/,
271 __inout BOOL* pfCancel
272 )
273 {
274 *pfCancel |= CheckCanceled();
275 return S_OK;
276 }
277
267 virtual STDMETHODIMP OnPlanPackageBegin( 278 virtual STDMETHODIMP OnPlanPackageBegin(
268 __in_z LPCWSTR /*wzPackageId*/, 279 __in_z LPCWSTR /*wzPackageId*/,
269 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, 280 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
index 69031d62..d536729f 100644
--- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
+++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h
@@ -171,6 +171,15 @@ static HRESULT BalBaseBAProcOnPlanRelatedBundle(
171 return pBA->OnPlanRelatedBundle(pArgs->wzBundleId, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel); 171 return pBA->OnPlanRelatedBundle(pArgs->wzBundleId, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel);
172} 172}
173 173
174static HRESULT BalBaseBAProcOnPlanRollbackBoundary(
175 __in IBootstrapperApplication* pBA,
176 __in BA_ONPLANROLLBACKBOUNDARY_ARGS* pArgs,
177 __inout BA_ONPLANROLLBACKBOUNDARY_RESULTS* pResults
178 )
179{
180 return pBA->OnPlanRollbackBoundary(pArgs->wzRollbackBoundaryId, pArgs->fRecommendedTransaction, &pResults->fTransaction, &pResults->fCancel);
181}
182
174static HRESULT BalBaseBAProcOnPlanPackageBegin( 183static HRESULT BalBaseBAProcOnPlanPackageBegin(
175 __in IBootstrapperApplication* pBA, 184 __in IBootstrapperApplication* pBA,
176 __in BA_ONPLANPACKAGEBEGIN_ARGS* pArgs, 185 __in BA_ONPLANPACKAGEBEGIN_ARGS* pArgs,
@@ -892,6 +901,9 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc(
892 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE: 901 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE:
893 hr = BalBaseBAProcOnCachePayloadExtractComplete(pBA, reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS*>(pvResults)); 902 hr = BalBaseBAProcOnCachePayloadExtractComplete(pBA, reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS*>(pvResults));
894 break; 903 break;
904 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY:
905 hr = BalBaseBAProcOnPlanRollbackBoundary(pBA, reinterpret_cast<BA_ONPLANROLLBACKBOUNDARY_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANROLLBACKBOUNDARY_RESULTS*>(pvResults));
906 break;
895 } 907 }
896 } 908 }
897 909
diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h
index 98b88f44..51f58ec7 100644
--- a/src/api/burn/balutil/inc/IBootstrapperApplication.h
+++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h
@@ -160,6 +160,14 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A
160 __inout BOOL* pfCancel 160 __inout BOOL* pfCancel
161 ) = 0; 161 ) = 0;
162 162
163 // OnPlanRollbackBoundary - called when the engine is planning a rollback boundary.
164 STDMETHOD(OnPlanRollbackBoundary)(
165 __in_z LPCWSTR wzRollbackBoundaryId,
166 __in BOOL fRecommendedTransaction,
167 __inout BOOL* pfTransaction,
168 __inout BOOL* pfCancel
169 ) = 0;
170
163 // OnPlanPackageBegin - called when the engine has begun getting the BA's input 171 // OnPlanPackageBegin - called when the engine has begun getting the BA's input
164 // for planning a package. 172 // for planning a package.
165 STDMETHOD(OnPlanPackageBegin)( 173 STDMETHOD(OnPlanPackageBegin)(