diff options
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, |