aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2024-01-11 18:26:20 -0800
committerRob Mensching <rob@firegiant.com>2024-03-06 18:03:38 -0800
commit0d3d54992104288e9ee0c834d0b96e8502fd2d42 (patch)
tree9efa49c4983cd2ba1becab64bd1f2faccac88acf /src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
parent2824298d9dd817a47527c920363556b54ead5d5d (diff)
downloadwix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.gz
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.bz2
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.zip
Move the BootstrapperApplication out of proc
Diffstat (limited to 'src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h')
-rw-r--r--src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h1576
1 files changed, 0 insertions, 1576 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
deleted file mode 100644
index 2633a9c2..00000000
--- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
+++ /dev/null
@@ -1,1576 +0,0 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5enum BOOTSTRAPPER_DISPLAY
6{
7 BOOTSTRAPPER_DISPLAY_UNKNOWN,
8 BOOTSTRAPPER_DISPLAY_EMBEDDED,
9 BOOTSTRAPPER_DISPLAY_NONE,
10 BOOTSTRAPPER_DISPLAY_PASSIVE,
11 BOOTSTRAPPER_DISPLAY_FULL,
12};
13
14enum BOOTSTRAPPER_REGISTRATION_TYPE
15{
16 BOOTSTRAPPER_REGISTRATION_TYPE_NONE, // The engine will ignore NONE if it recommended INPROGRESS or FULL.
17 BOOTSTRAPPER_REGISTRATION_TYPE_INPROGRESS,
18 BOOTSTRAPPER_REGISTRATION_TYPE_FULL,
19};
20
21enum BOOTSTRAPPER_RESUME_TYPE
22{
23 BOOTSTRAPPER_RESUME_TYPE_NONE,
24 BOOTSTRAPPER_RESUME_TYPE_INVALID, // resume information is present but invalid
25 BOOTSTRAPPER_RESUME_TYPE_INTERRUPTED, // relaunched after an unexpected interruption
26 BOOTSTRAPPER_RESUME_TYPE_REBOOT, // relaunched after reboot
27 BOOTSTRAPPER_RESUME_TYPE_SUSPEND, // relaunched after suspend
28 BOOTSTRAPPER_RESUME_TYPE_ARP, // launched from ARP
29};
30
31enum BOOTSTRAPPER_ERROR_TYPE
32{
33 BOOTSTRAPPER_ERROR_TYPE_ELEVATE, // error occurred trying to elevate.
34 BOOTSTRAPPER_ERROR_TYPE_WINDOWS_INSTALLER, // error came from windows installer.
35 BOOTSTRAPPER_ERROR_TYPE_EXE_PACKAGE, // error came from an exe package.
36 BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_SERVER, // error occurred trying to authenticate with HTTP server.
37 BOOTSTRAPPER_ERROR_TYPE_HTTP_AUTH_PROXY, // error occurred trying to authenticate with HTTP proxy.
38 BOOTSTRAPPER_ERROR_TYPE_APPLY, // error occurred during apply.
39};
40
41enum BOOTSTRAPPER_FILES_IN_USE_TYPE
42{
43 BOOTSTRAPPER_FILES_IN_USE_TYPE_MSI, // INSTALLMESSAGE_FILESINUSE
44 BOOTSTRAPPER_FILES_IN_USE_TYPE_MSI_RM, // INSTALLMESSAGE_RMFILESINUSE
45 BOOTSTRAPPER_FILES_IN_USE_TYPE_NETFX, // MMIO_CLOSE_APPS
46};
47
48enum BOOTSTRAPPER_RELATED_OPERATION
49{
50 BOOTSTRAPPER_RELATED_OPERATION_NONE,
51 BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE,
52 BOOTSTRAPPER_RELATED_OPERATION_MINOR_UPDATE,
53 BOOTSTRAPPER_RELATED_OPERATION_MAJOR_UPGRADE,
54 BOOTSTRAPPER_RELATED_OPERATION_REMOVE,
55 BOOTSTRAPPER_RELATED_OPERATION_INSTALL,
56 BOOTSTRAPPER_RELATED_OPERATION_REPAIR,
57};
58
59enum BOOTSTRAPPER_CACHE_OPERATION
60{
61 // There is no source available.
62 BOOTSTRAPPER_CACHE_OPERATION_NONE,
63 // Copy the payload or container from the chosen local source.
64 BOOTSTRAPPER_CACHE_OPERATION_COPY,
65 // Download the payload or container using the download URL.
66 BOOTSTRAPPER_CACHE_OPERATION_DOWNLOAD,
67 // Extract the payload from the container.
68 BOOTSTRAPPER_CACHE_OPERATION_EXTRACT,
69};
70
71enum BOOTSTRAPPER_CACHE_RESOLVE_OPERATION
72{
73 // There is no source available.
74 BOOTSTRAPPER_CACHE_RESOLVE_NONE,
75 // Copy the payload or container from the chosen local source.
76 BOOTSTRAPPER_CACHE_RESOLVE_LOCAL,
77 // Download the payload or container from the download URL.
78 BOOTSTRAPPER_CACHE_RESOLVE_DOWNLOAD,
79 // Extract the payload from the container.
80 BOOTSTRAPPER_CACHE_RESOLVE_CONTAINER,
81 // Look again for the payload or container locally.
82 BOOTSTRAPPER_CACHE_RESOLVE_RETRY,
83};
84
85enum BOOTSTRAPPER_CACHE_VERIFY_STEP
86{
87 BOOTSTRAPPER_CACHE_VERIFY_STEP_STAGE,
88 BOOTSTRAPPER_CACHE_VERIFY_STEP_HASH,
89 BOOTSTRAPPER_CACHE_VERIFY_STEP_FINALIZE,
90};
91
92enum BOOTSTRAPPER_APPLY_RESTART
93{
94 BOOTSTRAPPER_APPLY_RESTART_NONE,
95 BOOTSTRAPPER_APPLY_RESTART_REQUIRED,
96 BOOTSTRAPPER_APPLY_RESTART_INITIATED,
97};
98
99enum BOOTSTRAPPER_RELATION_TYPE
100{
101 BOOTSTRAPPER_RELATION_NONE,
102 BOOTSTRAPPER_RELATION_DETECT,
103 BOOTSTRAPPER_RELATION_UPGRADE,
104 BOOTSTRAPPER_RELATION_ADDON,
105 BOOTSTRAPPER_RELATION_PATCH,
106 BOOTSTRAPPER_RELATION_DEPENDENT_ADDON,
107 BOOTSTRAPPER_RELATION_DEPENDENT_PATCH,
108 BOOTSTRAPPER_RELATION_UPDATE,
109 BOOTSTRAPPER_RELATION_CHAIN_PACKAGE,
110};
111
112enum BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE
113{
114 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE_NONE,
115 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE_DOWNGRADE,
116 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE_UPGRADE,
117 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE_ADDON,
118 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE_PATCH,
119 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE_DEPENDENT_ADDON,
120 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE_DEPENDENT_PATCH,
121};
122
123enum BOOTSTRAPPER_CACHE_TYPE
124{
125 BOOTSTRAPPER_CACHE_TYPE_REMOVE,
126 BOOTSTRAPPER_CACHE_TYPE_KEEP,
127 BOOTSTRAPPER_CACHE_TYPE_FORCE,
128};
129
130enum BOOTSTRAPPER_PACKAGE_CONDITION_RESULT
131{
132 BOOTSTRAPPER_PACKAGE_CONDITION_DEFAULT,
133 BOOTSTRAPPER_PACKAGE_CONDITION_FALSE,
134 BOOTSTRAPPER_PACKAGE_CONDITION_TRUE,
135};
136
137enum BOOTSTRAPPER_MSI_FILE_VERSIONING
138{
139 BOOTSTRAPPER_MSI_FILE_VERSIONING_MISSING_OR_OLDER, //o
140 BOOTSTRAPPER_MSI_FILE_VERSIONING_MISSING_OR_OLDER_OR_EQUAL, //e
141 BOOTSTRAPPER_MSI_FILE_VERSIONING_ALL, //a
142};
143
144enum BOOTSTRAPPER_APPLICATION_MESSAGE
145{
146 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTBEGIN,
147 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPLETE,
148 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANBEGIN,
149 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPLETE,
150 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSTARTUP,
151 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSHUTDOWN,
152 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTFORWARDCOMPATIBLEBUNDLE,
153 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATEBEGIN,
154 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATE,
155 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATECOMPLETE,
156 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE,
157 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN,
158 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE,
159 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET,
160 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE,
161 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE,
162 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE,
163 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN,
164 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET,
165 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE,
166 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE,
167 BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYBEGIN,
168 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATEBEGIN,
169 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATECOMPLETE,
170 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPROGRESS,
171 BOOTSTRAPPER_APPLICATION_MESSAGE_ONERROR,
172 BOOTSTRAPPER_APPLICATION_MESSAGE_ONREGISTERBEGIN,
173 BOOTSTRAPPER_APPLICATION_MESSAGE_ONREGISTERCOMPLETE,
174 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEBEGIN,
175 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGEBEGIN,
176 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIREBEGIN,
177 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIREPROGRESS,
178 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIRERESOLVING,
179 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEACQUIRECOMPLETE,
180 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYBEGIN,
181 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYCOMPLETE,
182 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGECOMPLETE,
183 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECOMPLETE,
184 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEBEGIN,
185 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPACKAGEBEGIN,
186 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPATCHTARGET,
187 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROGRESS,
188 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEMSIMESSAGE,
189 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEFILESINUSE,
190 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPACKAGECOMPLETE,
191 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTECOMPLETE,
192 BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERBEGIN,
193 BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERCOMPLETE,
194 BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYCOMPLETE,
195 BOOTSTRAPPER_APPLICATION_MESSAGE_ONLAUNCHAPPROVEDEXEBEGIN,
196 BOOTSTRAPPER_APPLICATION_MESSAGE_ONLAUNCHAPPROVEDEXECOMPLETE,
197 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIPACKAGE,
198 BOOTSTRAPPER_APPLICATION_MESSAGE_ONBEGINMSITRANSACTIONBEGIN,
199 BOOTSTRAPPER_APPLICATION_MESSAGE_ONBEGINMSITRANSACTIONCOMPLETE,
200 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCOMMITMSITRANSACTIONBEGIN,
201 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCOMMITMSITRANSACTIONCOMPLETE,
202 BOOTSTRAPPER_APPLICATION_MESSAGE_ONROLLBACKMSITRANSACTIONBEGIN,
203 BOOTSTRAPPER_APPLICATION_MESSAGE_ONROLLBACKMSITRANSACTIONCOMPLETE,
204 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPAUSEAUTOMATICUPDATESBEGIN,
205 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPAUSEAUTOMATICUPDATESCOMPLETE,
206 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN,
207 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE,
208 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE,
209 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANFORWARDCOMPATIBLEBUNDLE,
210 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEVERIFYPROGRESS,
211 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYBEGIN,
212 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE,
213 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS,
214 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN,
215 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE,
216 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS,
217 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY,
218 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATEBEGIN,
219 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE,
220 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE,
221 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN,
222 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE,
223 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE,
224 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE,
225 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE,
226 BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE,
227 BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROCESSCANCEL,
228 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLEPACKAGE,
229 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGENONVITALVALIDATIONFAILURE,
230};
231
232enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION
233{
234 BOOTSTRAPPER_APPLYCOMPLETE_ACTION_NONE,
235 // Instructs the engine to restart.
236 // The engine will not launch again after the machine is rebooted.
237 // Ignored if reboot was already initiated by OnExecutePackageComplete().
238 BOOTSTRAPPER_APPLYCOMPLETE_ACTION_RESTART,
239};
240
241enum BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION
242{
243 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION_NONE,
244 // Instructs the engine to try the acquisition of the payload again.
245 // Ignored if hrStatus is a success.
246 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION_RETRY,
247};
248
249enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION
250{
251 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION_NONE,
252 // Instructs the engine to ignore non-vital package failures and
253 // continue with the caching.
254 // Ignored if hrStatus is a success or the package is vital.
255 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION_IGNORE,
256 // Instructs the engine to try the acquisition and verification of the package again.
257 // Ignored if hrStatus is a success.
258 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION_RETRY,
259};
260
261enum BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION
262{
263 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_NONE,
264 // Instructs the engine to try to acquire the package so execution can use it.
265 // Most of the time this is used for installing the package during rollback.
266 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_ACQUIRE,
267};
268
269enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION
270{
271 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION_NONE,
272 // Ignored if hrStatus is a success.
273 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION_RETRYVERIFICATION,
274 // Ignored if hrStatus is a success.
275 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION_RETRYACQUISITION,
276};
277
278enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION
279{
280 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_NONE,
281 // Instructs the engine to ignore non-vital package failures and
282 // continue with the install.
283 // Ignored if hrStatus is a success or the package is vital.
284 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_IGNORE,
285 // Instructs the engine to try the execution of the package again.
286 // Ignored if hrStatus is a success.
287 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_RETRY,
288 // Instructs the engine to stop processing the chain and restart.
289 // The engine will launch again after the machine is restarted.
290 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_RESTART,
291 // Instructs the engine to stop processing the chain and
292 // suspend the current state.
293 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_SUSPEND,
294};
295
296enum BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION
297{
298 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION_NONE,
299 // Instructs the engine to stop processing the chain and restart.
300 // The engine will launch again after the machine is restarted.
301 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION_RESTART,
302};
303
304enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION
305{
306 // Instructs the engine to stop waiting for the process to exit.
307 // The package is immediately considered to have failed with ERROR_INSTALL_USEREXIT.
308 // The engine will never rollback the package.
309 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION_ABANDON,
310 // Instructs the engine to wait for the process to exit.
311 // Once the process has exited, the package is considered to have failed with ERROR_INSTALL_USEREXIT.
312 // This allows the engine to rollback the package if necessary.
313 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION_WAIT,
314};
315
316enum BOOTSTRAPPER_SHUTDOWN_ACTION
317{
318 BOOTSTRAPPER_SHUTDOWN_ACTION_NONE,
319 // Instructs the engine to restart.
320 // The engine will not launch again after the machine is rebooted.
321 // Ignored if reboot was already initiated by OnExecutePackageComplete().
322 BOOTSTRAPPER_SHUTDOWN_ACTION_RESTART,
323 // Instructs the engine to unload the bootstrapper application and
324 // restart the engine which will load the bootstrapper application again.
325 // Typically used to switch from a native bootstrapper application to a managed one.
326 BOOTSTRAPPER_SHUTDOWN_ACTION_RELOAD_BOOTSTRAPPER,
327 // Opts out of the engine behavior of trying to uninstall itself
328 // when no non-permanent packages are installed.
329 BOOTSTRAPPER_SHUTDOWN_ACTION_SKIP_CLEANUP,
330};
331
332enum BURN_MSI_PROPERTY
333{
334 BURN_MSI_PROPERTY_NONE, // no property added
335 BURN_MSI_PROPERTY_INSTALL, // add BURNMSIINSTALL=1
336 BURN_MSI_PROPERTY_MODIFY, // add BURNMSIMODIFY=1
337 BURN_MSI_PROPERTY_REPAIR, // add BURNMSIREPAIR=1
338 BURN_MSI_PROPERTY_UNINSTALL,// add BURNMSIUNINSTALL=1
339};
340
341struct BOOTSTRAPPER_COMMAND
342{
343 DWORD cbSize;
344 BOOTSTRAPPER_ACTION action;
345 BOOTSTRAPPER_DISPLAY display;
346
347 LPWSTR wzCommandLine;
348 int nCmdShow;
349
350 BOOTSTRAPPER_RESUME_TYPE resumeType;
351 HWND hwndSplashScreen;
352
353 // If this was run from a related bundle, specifies the relation type
354 BOOTSTRAPPER_RELATION_TYPE relationType;
355 BOOL fPassthrough;
356
357 LPWSTR wzLayoutDirectory;
358 LPWSTR wzBootstrapperWorkingFolder;
359 LPWSTR wzBootstrapperApplicationDataPath;
360};
361
362struct BA_ONAPPLYBEGIN_ARGS
363{
364 DWORD cbSize;
365 DWORD dwPhaseCount;
366};
367
368struct BA_ONAPPLYBEGIN_RESULTS
369{
370 DWORD cbSize;
371 BOOL fCancel;
372};
373
374struct BA_ONAPPLYCOMPLETE_ARGS
375{
376 DWORD cbSize;
377 HRESULT hrStatus;
378 // Indicates whether any package required a reboot or initiated the reboot already.
379 BOOTSTRAPPER_APPLY_RESTART restart;
380 BOOTSTRAPPER_APPLYCOMPLETE_ACTION recommendation;
381};
382
383struct BA_ONAPPLYCOMPLETE_RESULTS
384{
385 DWORD cbSize;
386 BOOTSTRAPPER_APPLYCOMPLETE_ACTION action;
387};
388
389struct BA_ONAPPLYDOWNGRADE_ARGS
390{
391 DWORD cbSize;
392 HRESULT hrRecommended;
393};
394
395struct BA_ONAPPLYDOWNGRADE_RESULTS
396{
397 DWORD cbSize;
398 HRESULT hrStatus;
399};
400
401struct BA_ONBEGINMSITRANSACTIONBEGIN_ARGS
402{
403 DWORD cbSize;
404 LPCWSTR wzTransactionId;
405};
406
407struct BA_ONBEGINMSITRANSACTIONBEGIN_RESULTS
408{
409 DWORD cbSize;
410 BOOL fCancel;
411};
412
413struct BA_ONBEGINMSITRANSACTIONCOMPLETE_ARGS
414{
415 DWORD cbSize;
416 LPCWSTR wzTransactionId;
417 HRESULT hrStatus;
418};
419
420struct BA_ONBEGINMSITRANSACTIONCOMPLETE_RESULTS
421{
422 DWORD cbSize;
423};
424
425struct BA_ONCACHEACQUIREBEGIN_ARGS
426{
427 DWORD cbSize;
428 LPCWSTR wzPackageOrContainerId;
429 LPCWSTR wzPayloadId;
430 LPCWSTR wzSource;
431 LPCWSTR wzDownloadUrl;
432 LPCWSTR wzPayloadContainerId;
433 BOOTSTRAPPER_CACHE_OPERATION recommendation;
434};
435
436struct BA_ONCACHEACQUIREBEGIN_RESULTS
437{
438 DWORD cbSize;
439 BOOL fCancel;
440 BOOTSTRAPPER_CACHE_OPERATION action;
441};
442
443struct BA_ONCACHEACQUIRECOMPLETE_ARGS
444{
445 DWORD cbSize;
446 LPCWSTR wzPackageOrContainerId;
447 LPCWSTR wzPayloadId;
448 HRESULT hrStatus;
449 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION recommendation;
450};
451
452struct BA_ONCACHEACQUIRECOMPLETE_RESULTS
453{
454 DWORD cbSize;
455 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION action;
456};
457
458struct BA_ONCACHEACQUIREPROGRESS_ARGS
459{
460 DWORD cbSize;
461 LPCWSTR wzPackageOrContainerId;
462 LPCWSTR wzPayloadId;
463 DWORD64 dw64Progress;
464 DWORD64 dw64Total;
465 DWORD dwOverallPercentage;
466};
467
468struct BA_ONCACHEACQUIREPROGRESS_RESULTS
469{
470 DWORD cbSize;
471 BOOL fCancel;
472};
473
474struct BA_ONCACHEACQUIRERESOLVING_ARGS
475{
476 DWORD cbSize;
477 LPCWSTR wzPackageOrContainerId;
478 LPCWSTR wzPayloadId;
479 LPCWSTR* rgSearchPaths;
480 DWORD cSearchPaths;
481 BOOL fFoundLocal;
482 DWORD dwRecommendedSearchPath;
483 LPCWSTR wzDownloadUrl;
484 LPCWSTR wzPayloadContainerId;
485 BOOTSTRAPPER_CACHE_RESOLVE_OPERATION recommendation;
486};
487
488struct BA_ONCACHEACQUIRERESOLVING_RESULTS
489{
490 DWORD cbSize;
491 DWORD dwChosenSearchPath;
492 BOOTSTRAPPER_CACHE_RESOLVE_OPERATION action;
493 BOOL fCancel;
494};
495
496struct BA_ONCACHEBEGIN_ARGS
497{
498 DWORD cbSize;
499};
500
501struct BA_ONCACHEBEGIN_RESULTS
502{
503 DWORD cbSize;
504 BOOL fCancel;
505};
506
507struct BA_ONCACHECOMPLETE_ARGS
508{
509 DWORD cbSize;
510 HRESULT hrStatus;
511};
512
513struct BA_ONCACHECOMPLETE_RESULTS
514{
515 DWORD cbSize;
516};
517
518struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS
519{
520 DWORD cbSize;
521 LPCWSTR wzPackageOrContainerId;
522 LPCWSTR wzPayloadId;
523};
524
525struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS
526{
527 DWORD cbSize;
528 BOOL fCancel;
529};
530
531struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS
532{
533 DWORD cbSize;
534 LPCWSTR wzPackageOrContainerId;
535 LPCWSTR wzPayloadId;
536 HRESULT hrStatus;
537};
538
539struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS
540{
541 DWORD cbSize;
542};
543
544struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS
545{
546 DWORD cbSize;
547 LPCWSTR wzPackageOrContainerId;
548 LPCWSTR wzPayloadId;
549 DWORD64 dw64Progress;
550 DWORD64 dw64Total;
551 DWORD dwOverallPercentage;
552};
553
554struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS
555{
556 DWORD cbSize;
557 BOOL fCancel;
558};
559
560struct BA_ONCACHEPACKAGEBEGIN_ARGS
561{
562 DWORD cbSize;
563 LPCWSTR wzPackageId;
564 DWORD cCachePayloads;
565 DWORD64 dw64PackageCacheSize;
566 // If caching a package is not vital, then acquisition will be skipped unless the BA opts in through OnCachePackageNonVitalValidationFailure.
567 BOOL fVital;
568};
569
570struct BA_ONCACHEPACKAGEBEGIN_RESULTS
571{
572 DWORD cbSize;
573 BOOL fCancel;
574};
575
576struct BA_ONCACHEPACKAGECOMPLETE_ARGS
577{
578 DWORD cbSize;
579 LPCWSTR wzPackageId;
580 HRESULT hrStatus;
581 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation;
582};
583
584struct BA_ONCACHEPACKAGECOMPLETE_RESULTS
585{
586 DWORD cbSize;
587 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action;
588};
589
590struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_ARGS
591{
592 DWORD cbSize;
593 LPCWSTR wzPackageId;
594 HRESULT hrStatus;
595 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation;
596};
597
598struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_RESULTS
599{
600 DWORD cbSize;
601 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action;
602};
603
604struct BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS
605{
606 DWORD cbSize;
607 LPCWSTR wzContainerId;
608 LPCWSTR wzPayloadId;
609};
610
611struct BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS
612{
613 DWORD cbSize;
614 BOOL fCancel;
615};
616
617struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS
618{
619 DWORD cbSize;
620 LPCWSTR wzContainerId;
621 LPCWSTR wzPayloadId;
622 HRESULT hrStatus;
623};
624
625struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS
626{
627 DWORD cbSize;
628};
629
630struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS
631{
632 DWORD cbSize;
633 LPCWSTR wzContainerId;
634 LPCWSTR wzPayloadId;
635 DWORD64 dw64Progress;
636 DWORD64 dw64Total;
637 DWORD dwOverallPercentage;
638};
639
640struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS
641{
642 DWORD cbSize;
643 BOOL fCancel;
644};
645
646struct BA_ONCACHEVERIFYBEGIN_ARGS
647{
648 DWORD cbSize;
649 LPCWSTR wzPackageOrContainerId;
650 LPCWSTR wzPayloadId;
651};
652
653struct BA_ONCACHEVERIFYBEGIN_RESULTS
654{
655 DWORD cbSize;
656 BOOL fCancel;
657};
658
659struct BA_ONCACHEVERIFYCOMPLETE_ARGS
660{
661 DWORD cbSize;
662 LPCWSTR wzPackageOrContainerId;
663 LPCWSTR wzPayloadId;
664 HRESULT hrStatus;
665 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation;
666};
667
668struct BA_ONCACHEVERIFYCOMPLETE_RESULTS
669{
670 DWORD cbSize;
671 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action;
672};
673
674struct BA_ONCACHEVERIFYPROGRESS_ARGS
675{
676 DWORD cbSize;
677 LPCWSTR wzPackageOrContainerId;
678 LPCWSTR wzPayloadId;
679 DWORD64 dw64Progress;
680 DWORD64 dw64Total;
681 DWORD dwOverallPercentage;
682 BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep;
683};
684
685struct BA_ONCACHEVERIFYPROGRESS_RESULTS
686{
687 DWORD cbSize;
688 BOOL fCancel;
689};
690
691struct BA_ONCOMMITMSITRANSACTIONBEGIN_ARGS
692{
693 DWORD cbSize;
694 LPCWSTR wzTransactionId;
695};
696
697struct BA_ONCOMMITMSITRANSACTIONBEGIN_RESULTS
698{
699 DWORD cbSize;
700 BOOL fCancel;
701};
702
703struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS
704{
705 DWORD cbSize;
706 LPCWSTR wzTransactionId;
707 HRESULT hrStatus;
708 BOOTSTRAPPER_APPLY_RESTART restart;
709 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation;
710};
711
712struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS
713{
714 DWORD cbSize;
715 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action;
716};
717
718struct BA_ONDETECTBEGIN_ARGS
719{
720 DWORD cbSize;
721 BOOTSTRAPPER_REGISTRATION_TYPE registrationType;
722 DWORD cPackages;
723 BOOL fCached;
724};
725
726struct BA_ONDETECTBEGIN_RESULTS
727{
728 DWORD cbSize;
729 BOOL fCancel;
730};
731
732struct BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS
733{
734 DWORD cbSize;
735 LPCWSTR wzPackageId;
736 LPCWSTR wzCompatiblePackageId;
737 LPCWSTR wzCompatiblePackageVersion;
738};
739
740struct BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS
741{
742 DWORD cbSize;
743 BOOL fCancel;
744};
745
746struct BA_ONDETECTCOMPLETE_ARGS
747{
748 DWORD cbSize;
749 HRESULT hrStatus;
750 BOOL fEligibleForCleanup;
751};
752
753struct BA_ONDETECTCOMPLETE_RESULTS
754{
755 DWORD cbSize;
756};
757
758struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_ARGS
759{
760 DWORD cbSize;
761 LPCWSTR wzBundleId;
762 BOOTSTRAPPER_RELATION_TYPE relationType;
763 LPCWSTR wzBundleTag;
764 BOOL fPerMachine;
765 LPCWSTR wzVersion;
766 BOOL fMissingFromCache;
767};
768
769struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_RESULTS
770{
771 DWORD cbSize;
772 BOOL fCancel;
773};
774
775struct BA_ONDETECTMSIFEATURE_ARGS
776{
777 DWORD cbSize;
778 LPCWSTR wzPackageId;
779 LPCWSTR wzFeatureId;
780 BOOTSTRAPPER_FEATURE_STATE state;
781};
782
783struct BA_ONDETECTMSIFEATURE_RESULTS
784{
785 DWORD cbSize;
786 BOOL fCancel;
787};
788
789struct BA_ONDETECTPACKAGEBEGIN_ARGS
790{
791 DWORD cbSize;
792 LPCWSTR wzPackageId;
793};
794
795struct BA_ONDETECTPACKAGEBEGIN_RESULTS
796{
797 DWORD cbSize;
798 BOOL fCancel;
799};
800
801struct BA_ONDETECTPACKAGECOMPLETE_ARGS
802{
803 DWORD cbSize;
804 LPCWSTR wzPackageId;
805 HRESULT hrStatus;
806 BOOTSTRAPPER_PACKAGE_STATE state;
807 BOOL fCached;
808};
809
810struct BA_ONDETECTPACKAGECOMPLETE_RESULTS
811{
812 DWORD cbSize;
813};
814
815struct BA_ONDETECTRELATEDBUNDLE_ARGS
816{
817 DWORD cbSize;
818 LPCWSTR wzBundleId;
819 BOOTSTRAPPER_RELATION_TYPE relationType;
820 LPCWSTR wzBundleTag;
821 BOOL fPerMachine;
822 LPCWSTR wzVersion;
823 BOOL fMissingFromCache;
824};
825
826struct BA_ONDETECTRELATEDBUNDLE_RESULTS
827{
828 DWORD cbSize;
829 BOOL fCancel;
830};
831
832struct BA_ONDETECTRELATEDBUNDLEPACKAGE_ARGS
833{
834 DWORD cbSize;
835 LPCWSTR wzPackageId;
836 LPCWSTR wzBundleId;
837 BOOTSTRAPPER_RELATION_TYPE relationType;
838 BOOL fPerMachine;
839 LPCWSTR wzVersion;
840};
841
842struct BA_ONDETECTRELATEDBUNDLEPACKAGE_RESULTS
843{
844 DWORD cbSize;
845 BOOL fCancel;
846};
847
848struct BA_ONDETECTRELATEDMSIPACKAGE_ARGS
849{
850 DWORD cbSize;
851 LPCWSTR wzPackageId;
852 LPCWSTR wzUpgradeCode;
853 LPCWSTR wzProductCode;
854 BOOL fPerMachine;
855 LPCWSTR wzVersion;
856 BOOTSTRAPPER_RELATED_OPERATION operation;
857};
858
859struct BA_ONDETECTRELATEDMSIPACKAGE_RESULTS
860{
861 DWORD cbSize;
862 BOOL fCancel;
863};
864
865struct BA_ONDETECTPATCHTARGET_ARGS
866{
867 DWORD cbSize;
868 LPCWSTR wzPackageId;
869 LPCWSTR wzProductCode;
870 BOOTSTRAPPER_PACKAGE_STATE patchState;
871};
872
873struct BA_ONDETECTPATCHTARGET_RESULTS
874{
875 DWORD cbSize;
876 BOOL fCancel;
877};
878
879struct BA_ONDETECTUPDATE_ARGS
880{
881 DWORD cbSize;
882 LPCWSTR wzUpdateLocation;
883 DWORD64 dw64Size;
884 LPCWSTR wzHash;
885 BOOTSTRAPPER_UPDATE_HASH_TYPE hashAlgorithm;
886 LPCWSTR wzVersion;
887 LPCWSTR wzTitle;
888 LPCWSTR wzSummary;
889 LPCWSTR wzContentType;
890 LPCWSTR wzContent;
891};
892
893struct BA_ONDETECTUPDATE_RESULTS
894{
895 DWORD cbSize;
896 BOOL fCancel;
897 BOOL fStopProcessingUpdates;
898};
899
900struct BA_ONDETECTUPDATEBEGIN_ARGS
901{
902 DWORD cbSize;
903 LPCWSTR wzUpdateLocation;
904};
905
906struct BA_ONDETECTUPDATEBEGIN_RESULTS
907{
908 DWORD cbSize;
909 BOOL fCancel;
910 BOOL fSkip;
911};
912
913struct BA_ONDETECTUPDATECOMPLETE_ARGS
914{
915 DWORD cbSize;
916 HRESULT hrStatus;
917};
918
919struct BA_ONDETECTUPDATECOMPLETE_RESULTS
920{
921 DWORD cbSize;
922 BOOL fIgnoreError;
923};
924
925struct BA_ONELEVATEBEGIN_ARGS
926{
927 DWORD cbSize;
928};
929
930struct BA_ONELEVATEBEGIN_RESULTS
931{
932 DWORD cbSize;
933 BOOL fCancel;
934};
935
936struct BA_ONELEVATECOMPLETE_ARGS
937{
938 DWORD cbSize;
939 HRESULT hrStatus;
940};
941
942struct BA_ONELEVATECOMPLETE_RESULTS
943{
944 DWORD cbSize;
945};
946
947struct BA_ONERROR_ARGS
948{
949 DWORD cbSize;
950 BOOTSTRAPPER_ERROR_TYPE errorType;
951 LPCWSTR wzPackageId;
952 DWORD dwCode;
953 LPCWSTR wzError;
954 DWORD dwUIHint;
955 DWORD cData;
956 LPCWSTR* rgwzData;
957 int nRecommendation;
958};
959
960struct BA_ONERROR_RESULTS
961{
962 DWORD cbSize;
963 int nResult;
964};
965
966struct BA_ONEXECUTEBEGIN_ARGS
967{
968 DWORD cbSize;
969 DWORD cExecutingPackages;
970};
971
972struct BA_ONEXECUTEBEGIN_RESULTS
973{
974 DWORD cbSize;
975 BOOL fCancel;
976};
977
978struct BA_ONEXECUTECOMPLETE_ARGS
979{
980 DWORD cbSize;
981 HRESULT hrStatus;
982};
983
984struct BA_ONEXECUTECOMPLETE_RESULTS
985{
986 DWORD cbSize;
987};
988
989struct BA_ONEXECUTEFILESINUSE_ARGS
990{
991 DWORD cbSize;
992 LPCWSTR wzPackageId;
993 DWORD cFiles;
994 LPCWSTR* rgwzFiles;
995 int nRecommendation;
996 BOOTSTRAPPER_FILES_IN_USE_TYPE source;
997};
998
999struct BA_ONEXECUTEFILESINUSE_RESULTS
1000{
1001 DWORD cbSize;
1002 int nResult;
1003};
1004
1005struct BA_ONEXECUTEMSIMESSAGE_ARGS
1006{
1007 DWORD cbSize;
1008 LPCWSTR wzPackageId;
1009 INSTALLMESSAGE messageType;
1010 DWORD dwUIHint;
1011 LPCWSTR wzMessage;
1012 DWORD cData;
1013 LPCWSTR* rgwzData;
1014 int nRecommendation;
1015};
1016
1017struct BA_ONEXECUTEMSIMESSAGE_RESULTS
1018{
1019 DWORD cbSize;
1020 int nResult;
1021};
1022
1023struct BA_ONEXECUTEPACKAGEBEGIN_ARGS
1024{
1025 DWORD cbSize;
1026 LPCWSTR wzPackageId;
1027 BOOL fExecute; // false means rollback.
1028 BOOTSTRAPPER_ACTION_STATE action;
1029 INSTALLUILEVEL uiLevel;
1030 BOOL fDisableExternalUiHandler;
1031};
1032
1033struct BA_ONEXECUTEPACKAGEBEGIN_RESULTS
1034{
1035 DWORD cbSize;
1036 BOOL fCancel;
1037};
1038
1039struct BA_ONEXECUTEPACKAGECOMPLETE_ARGS
1040{
1041 DWORD cbSize;
1042 LPCWSTR wzPackageId;
1043 HRESULT hrStatus;
1044 // Indicates whether this package requires a reboot or initiated the reboot already.
1045 BOOTSTRAPPER_APPLY_RESTART restart;
1046 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION recommendation;
1047};
1048
1049struct BA_ONEXECUTEPACKAGECOMPLETE_RESULTS
1050{
1051 DWORD cbSize;
1052 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action;
1053};
1054
1055struct BA_ONEXECUTEPATCHTARGET_ARGS
1056{
1057 DWORD cbSize;
1058 LPCWSTR wzPackageId;
1059 LPCWSTR wzTargetProductCode;
1060};
1061
1062struct BA_ONEXECUTEPATCHTARGET_RESULTS
1063{
1064 DWORD cbSize;
1065 BOOL fCancel;
1066};
1067
1068struct BA_ONEXECUTEPROCESSCANCEL_ARGS
1069{
1070 DWORD cbSize;
1071 LPCWSTR wzPackageId;
1072 DWORD dwProcessId;
1073 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation;
1074};
1075
1076struct BA_ONEXECUTEPROCESSCANCEL_RESULTS
1077{
1078 DWORD cbSize;
1079 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action;
1080};
1081
1082struct BA_ONEXECUTEPROGRESS_ARGS
1083{
1084 DWORD cbSize;
1085 LPCWSTR wzPackageId;
1086 DWORD dwProgressPercentage;
1087 DWORD dwOverallPercentage;
1088};
1089
1090struct BA_ONEXECUTEPROGRESS_RESULTS
1091{
1092 DWORD cbSize;
1093 BOOL fCancel;
1094};
1095
1096struct BA_ONLAUNCHAPPROVEDEXEBEGIN_ARGS
1097{
1098 DWORD cbSize;
1099};
1100
1101struct BA_ONLAUNCHAPPROVEDEXEBEGIN_RESULTS
1102{
1103 DWORD cbSize;
1104 BOOL fCancel;
1105};
1106
1107struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_ARGS
1108{
1109 DWORD cbSize;
1110 HRESULT hrStatus;
1111 // Only valid if the operation succeeded.
1112 DWORD dwProcessId;
1113};
1114
1115struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_RESULTS
1116{
1117 DWORD cbSize;
1118};
1119
1120struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_ARGS
1121{
1122 DWORD cbSize;
1123};
1124
1125struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_RESULTS
1126{
1127 DWORD cbSize;
1128};
1129
1130struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_ARGS
1131{
1132 DWORD cbSize;
1133 HRESULT hrStatus;
1134};
1135
1136struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_RESULTS
1137{
1138 DWORD cbSize;
1139};
1140
1141struct BA_ONPLANBEGIN_ARGS
1142{
1143 DWORD cbSize;
1144 DWORD cPackages;
1145};
1146
1147struct BA_ONPLANBEGIN_RESULTS
1148{
1149 DWORD cbSize;
1150 BOOL fCancel;
1151};
1152
1153struct BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS
1154{
1155 DWORD cbSize;
1156 LPCWSTR wzPackageId;
1157 LPCWSTR wzCompatiblePackageId;
1158 LPCWSTR wzCompatiblePackageVersion;
1159 BOOL fRecommendedRemove;
1160};
1161
1162struct BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS
1163{
1164 DWORD cbSize;
1165 BOOL fCancel;
1166 BOOL fRequestRemove;
1167};
1168
1169struct BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS
1170{
1171 DWORD cbSize;
1172 LPCWSTR wzPackageId;
1173 LPCWSTR wzCompatiblePackageId;
1174 HRESULT hrStatus;
1175 BOOL fRequestedRemove;
1176};
1177
1178struct BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS
1179{
1180 DWORD cbSize;
1181};
1182
1183struct BA_ONPLANCOMPLETE_ARGS
1184{
1185 DWORD cbSize;
1186 HRESULT hrStatus;
1187};
1188
1189struct BA_ONPLANCOMPLETE_RESULTS
1190{
1191 DWORD cbSize;
1192};
1193
1194struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS
1195{
1196 DWORD cbSize;
1197 LPCWSTR wzBundleId;
1198 BOOTSTRAPPER_RELATION_TYPE relationType;
1199 LPCWSTR wzBundleTag;
1200 BOOL fPerMachine;
1201 LPCWSTR wzVersion;
1202 BOOL fRecommendedIgnoreBundle;
1203};
1204
1205struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS
1206{
1207 DWORD cbSize;
1208 BOOL fCancel;
1209 BOOL fIgnoreBundle;
1210};
1211
1212struct BA_ONPLANMSIFEATURE_ARGS
1213{
1214 DWORD cbSize;
1215 LPCWSTR wzPackageId;
1216 LPCWSTR wzFeatureId;
1217 BOOTSTRAPPER_FEATURE_STATE recommendedState;
1218};
1219
1220struct BA_ONPLANMSIFEATURE_RESULTS
1221{
1222 DWORD cbSize;
1223 BOOTSTRAPPER_FEATURE_STATE requestedState;
1224 BOOL fCancel;
1225};
1226
1227struct BA_ONPLANMSIPACKAGE_ARGS
1228{
1229 DWORD cbSize;
1230 LPCWSTR wzPackageId;
1231 BOOL fExecute; // false means rollback.
1232 BOOTSTRAPPER_ACTION_STATE action;
1233 BOOTSTRAPPER_MSI_FILE_VERSIONING recommendedFileVersioning;
1234};
1235
1236struct BA_ONPLANMSIPACKAGE_RESULTS
1237{
1238 DWORD cbSize;
1239 BOOL fCancel;
1240 BURN_MSI_PROPERTY actionMsiProperty;
1241 INSTALLUILEVEL uiLevel;
1242 BOOL fDisableExternalUiHandler;
1243 BOOTSTRAPPER_MSI_FILE_VERSIONING fileVersioning;
1244};
1245
1246struct BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS
1247{
1248 DWORD cbSize;
1249 LPCWSTR wzPackageId;
1250 LPCWSTR wzCompatiblePackageId;
1251 BOOL fRemove;
1252};
1253
1254struct BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS
1255{
1256 DWORD cbSize;
1257};
1258
1259struct BA_ONPLANNEDPACKAGE_ARGS
1260{
1261 DWORD cbSize;
1262 LPCWSTR wzPackageId;
1263 BOOTSTRAPPER_ACTION_STATE execute;
1264 BOOTSTRAPPER_ACTION_STATE rollback;
1265 BOOL fPlannedCache;
1266 BOOL fPlannedUncache;
1267};
1268
1269struct BA_ONPLANNEDPACKAGE_RESULTS
1270{
1271 DWORD cbSize;
1272};
1273
1274struct BA_ONPLANPACKAGEBEGIN_ARGS
1275{
1276 DWORD cbSize;
1277 LPCWSTR wzPackageId;
1278 BOOTSTRAPPER_PACKAGE_STATE state;
1279 BOOL fCached;
1280 BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition;
1281 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1282 BOOTSTRAPPER_CACHE_TYPE recommendedCacheType;
1283 BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition;
1284};
1285
1286struct BA_ONPLANPACKAGEBEGIN_RESULTS
1287{
1288 DWORD cbSize;
1289 BOOL fCancel;
1290 BOOTSTRAPPER_REQUEST_STATE requestedState;
1291 BOOTSTRAPPER_CACHE_TYPE requestedCacheType;
1292};
1293
1294struct BA_ONPLANPACKAGECOMPLETE_ARGS
1295{
1296 DWORD cbSize;
1297 LPCWSTR wzPackageId;
1298 HRESULT hrStatus;
1299 BOOTSTRAPPER_REQUEST_STATE requested;
1300};
1301
1302struct BA_ONPLANPACKAGECOMPLETE_RESULTS
1303{
1304 DWORD cbSize;
1305};
1306
1307struct BA_ONPLANRELATEDBUNDLE_ARGS
1308{
1309 DWORD cbSize;
1310 LPCWSTR wzBundleId;
1311 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1312};
1313
1314struct BA_ONPLANRELATEDBUNDLE_RESULTS
1315{
1316 DWORD cbSize;
1317 BOOL fCancel;
1318 BOOTSTRAPPER_REQUEST_STATE requestedState;
1319};
1320
1321struct BA_ONPLANRELATEDBUNDLETYPE_ARGS
1322{
1323 DWORD cbSize;
1324 LPCWSTR wzBundleId;
1325 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE recommendedType;
1326};
1327
1328struct BA_ONPLANRELATEDBUNDLETYPE_RESULTS
1329{
1330 DWORD cbSize;
1331 BOOL fCancel;
1332 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE requestedType;
1333};
1334
1335struct BA_ONPLANRESTORERELATEDBUNDLE_ARGS
1336{
1337 DWORD cbSize;
1338 LPCWSTR wzBundleId;
1339 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1340};
1341
1342struct BA_ONPLANRESTORERELATEDBUNDLE_RESULTS
1343{
1344 DWORD cbSize;
1345 BOOL fCancel;
1346 BOOTSTRAPPER_REQUEST_STATE requestedState;
1347};
1348
1349struct BA_ONPLANROLLBACKBOUNDARY_ARGS
1350{
1351 DWORD cbSize;
1352 LPCWSTR wzRollbackBoundaryId;
1353 BOOL fRecommendedTransaction;
1354};
1355
1356struct BA_ONPLANROLLBACKBOUNDARY_RESULTS
1357{
1358 DWORD cbSize;
1359 BOOL fTransaction;
1360 BOOL fCancel;
1361};
1362
1363struct BA_ONPLANPATCHTARGET_ARGS
1364{
1365 DWORD cbSize;
1366 LPCWSTR wzPackageId;
1367 LPCWSTR wzProductCode;
1368 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1369};
1370
1371struct BA_ONPLANPATCHTARGET_RESULTS
1372{
1373 DWORD cbSize;
1374 BOOTSTRAPPER_REQUEST_STATE requestedState;
1375 BOOL fCancel;
1376};
1377
1378struct BA_ONPROGRESS_ARGS
1379{
1380 DWORD cbSize;
1381 DWORD dwProgressPercentage;
1382 DWORD dwOverallPercentage;
1383};
1384
1385struct BA_ONPROGRESS_RESULTS
1386{
1387 DWORD cbSize;
1388 BOOL fCancel;
1389};
1390
1391struct BA_ONREGISTERBEGIN_ARGS
1392{
1393 DWORD cbSize;
1394 BOOTSTRAPPER_REGISTRATION_TYPE recommendedRegistrationType;
1395};
1396
1397struct BA_ONREGISTERBEGIN_RESULTS
1398{
1399 DWORD cbSize;
1400 BOOL fCancel;
1401 BOOTSTRAPPER_REGISTRATION_TYPE registrationType;
1402};
1403
1404struct BA_ONREGISTERCOMPLETE_ARGS
1405{
1406 DWORD cbSize;
1407 HRESULT hrStatus;
1408};
1409
1410struct BA_ONREGISTERCOMPLETE_RESULTS
1411{
1412 DWORD cbSize;
1413};
1414
1415struct BA_ONROLLBACKMSITRANSACTIONBEGIN_ARGS
1416{
1417 DWORD cbSize;
1418 LPCWSTR wzTransactionId;
1419};
1420
1421struct BA_ONROLLBACKMSITRANSACTIONBEGIN_RESULTS
1422{
1423 DWORD cbSize;
1424};
1425
1426struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS
1427{
1428 DWORD cbSize;
1429 LPCWSTR wzTransactionId;
1430 HRESULT hrStatus;
1431 BOOTSTRAPPER_APPLY_RESTART restart;
1432 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation;
1433};
1434
1435struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS
1436{
1437 DWORD cbSize;
1438 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action;
1439};
1440
1441struct BA_ONSETUPDATEBEGIN_ARGS
1442{
1443 DWORD cbSize;
1444};
1445
1446struct BA_ONSETUPDATEBEGIN_RESULTS
1447{
1448 DWORD cbSize;
1449};
1450
1451struct BA_ONSETUPDATECOMPLETE_ARGS
1452{
1453 DWORD cbSize;
1454 HRESULT hrStatus;
1455 LPCWSTR wzPreviousPackageId;
1456 LPCWSTR wzNewPackageId;
1457};
1458
1459struct BA_ONSETUPDATECOMPLETE_RESULTS
1460{
1461 DWORD cbSize;
1462};
1463
1464struct BA_ONSHUTDOWN_ARGS
1465{
1466 DWORD cbSize;
1467};
1468
1469struct BA_ONSHUTDOWN_RESULTS
1470{
1471 DWORD cbSize;
1472 BOOTSTRAPPER_SHUTDOWN_ACTION action;
1473};
1474
1475struct BA_ONSTARTUP_ARGS
1476{
1477 DWORD cbSize;
1478};
1479
1480struct BA_ONSTARTUP_RESULTS
1481{
1482 DWORD cbSize;
1483};
1484
1485struct BA_ONSYSTEMRESTOREPOINTBEGIN_ARGS
1486{
1487 DWORD cbSize;
1488};
1489
1490struct BA_ONSYSTEMRESTOREPOINTBEGIN_RESULTS
1491{
1492 DWORD cbSize;
1493};
1494
1495struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_ARGS
1496{
1497 DWORD cbSize;
1498 HRESULT hrStatus;
1499};
1500
1501struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_RESULTS
1502{
1503 DWORD cbSize;
1504};
1505
1506struct BA_ONUNREGISTERBEGIN_ARGS
1507{
1508 DWORD cbSize;
1509 BOOTSTRAPPER_REGISTRATION_TYPE recommendedRegistrationType;
1510};
1511
1512struct BA_ONUNREGISTERBEGIN_RESULTS
1513{
1514 DWORD cbSize;
1515 BOOTSTRAPPER_REGISTRATION_TYPE registrationType;
1516};
1517
1518struct BA_ONUNREGISTERCOMPLETE_ARGS
1519{
1520 DWORD cbSize;
1521 HRESULT hrStatus;
1522};
1523
1524struct BA_ONUNREGISTERCOMPLETE_RESULTS
1525{
1526 DWORD cbSize;
1527};
1528
1529
1530
1531extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_PROC)(
1532 __in BOOTSTRAPPER_APPLICATION_MESSAGE message,
1533 __in const LPVOID pvArgs,
1534 __inout LPVOID pvResults,
1535 __in_opt LPVOID pvContext
1536 );
1537
1538struct BOOTSTRAPPER_DESTROY_ARGS
1539{
1540 DWORD cbSize;
1541 BOOL fReload;
1542};
1543
1544struct BOOTSTRAPPER_DESTROY_RESULTS
1545{
1546 DWORD cbSize;
1547 BOOL fDisableUnloading; // indicates the BA dll must not be unloaded after BootstrapperApplicationDestroy.
1548};
1549
1550extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)(
1551 __in const BOOTSTRAPPER_DESTROY_ARGS* pArgs,
1552 __inout BOOTSTRAPPER_DESTROY_RESULTS* pResults
1553 );
1554
1555
1556
1557struct BOOTSTRAPPER_CREATE_ARGS
1558{
1559 DWORD cbSize;
1560 DWORD64 qwEngineAPIVersion;
1561 PFN_BOOTSTRAPPER_ENGINE_PROC pfnBootstrapperEngineProc;
1562 LPVOID pvBootstrapperEngineProcContext;
1563 BOOTSTRAPPER_COMMAND* pCommand;
1564};
1565
1566struct BOOTSTRAPPER_CREATE_RESULTS
1567{
1568 DWORD cbSize;
1569 PFN_BOOTSTRAPPER_APPLICATION_PROC pfnBootstrapperApplicationProc;
1570 LPVOID pvBootstrapperApplicationProcContext;
1571};
1572
1573extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)(
1574 __in const BOOTSTRAPPER_CREATE_ARGS* pArgs,
1575 __inout BOOTSTRAPPER_CREATE_RESULTS* pResults
1576 );