1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
|
// 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.
namespace WixToolset.Mba.Core
{
using System;
/// <summary>
/// Interface for built-in implementation of <see cref="IBootstrapperApplication"/>.
/// </summary>
public interface IDefaultBootstrapperApplication : IBootstrapperApplication
{
/// <summary>
/// Fired when the engine has begun installing the bundle.
/// </summary>
event EventHandler<ApplyBeginEventArgs> ApplyBegin;
/// <summary>
/// Fired when the engine has completed installing the bundle.
/// </summary>
event EventHandler<ApplyCompleteEventArgs> ApplyComplete;
/// <summary>
/// Fired when the plan determined that nothing should happen to prevent downgrading.
/// </summary>
event EventHandler<ApplyDowngradeEventArgs> ApplyDowngrade;
/// <summary>
/// Fired when the engine is about to begin an MSI transaction.
/// </summary>
event EventHandler<BeginMsiTransactionBeginEventArgs> BeginMsiTransactionBegin;
/// <summary>
/// Fired when the engine has completed beginning an MSI transaction.
/// </summary>
event EventHandler<BeginMsiTransactionCompleteEventArgs> BeginMsiTransactionComplete;
/// <summary>
/// Fired when the engine has begun acquiring the payload or container.
/// The BA can change the source using <see cref="IEngine.SetLocalSource(String, String, String)"/>
/// or <see cref="IEngine.SetDownloadSource(String, String, String, String, String)"/>.
/// </summary>
event EventHandler<CacheAcquireBeginEventArgs> CacheAcquireBegin;
/// <summary>
/// Fired when the engine has completed the acquisition of the payload or container.
/// The BA can change the source using <see cref="IEngine.SetLocalSource(String, String, String)"/>
/// or <see cref="IEngine.SetDownloadSource(String, String, String, String, String)"/>.
/// </summary>
event EventHandler<CacheAcquireCompleteEventArgs> CacheAcquireComplete;
/// <summary>
/// Fired when the engine has progress acquiring the payload or container.
/// </summary>
event EventHandler<CacheAcquireProgressEventArgs> CacheAcquireProgress;
/// <summary>
/// Fired by the engine to allow the BA to override the acquisition action.
/// </summary>
event EventHandler<CacheAcquireResolvingEventArgs> CacheAcquireResolving;
/// <summary>
/// Fired when the engine has begun caching the installation sources.
/// </summary>
event EventHandler<CacheBeginEventArgs> CacheBegin;
/// <summary>
/// Fired after the engine has cached the installation sources.
/// </summary>
event EventHandler<CacheCompleteEventArgs> CacheComplete;
/// <summary>
/// Fired when the engine begins the verification of the payload or container that was already in the package cache.
/// </summary>
event EventHandler<CacheContainerOrPayloadVerifyBeginEventArgs> CacheContainerOrPayloadVerifyBegin;
/// <summary>
/// Fired when the engine has completed the verification of the payload or container that was already in the package cache.
/// </summary>
event EventHandler<CacheContainerOrPayloadVerifyCompleteEventArgs> CacheContainerOrPayloadVerifyComplete;
/// <summary>
/// Fired when the engine has progress verifying the payload or container that was already in the package cache.
/// </summary>
event EventHandler<CacheContainerOrPayloadVerifyProgressEventArgs> CacheContainerOrPayloadVerifyProgress;
/// <summary>
/// Fired when the engine has begun caching a specific package.
/// </summary>
event EventHandler<CachePackageBeginEventArgs> CachePackageBegin;
/// <summary>
/// Fired when the engine has completed caching a specific package.
/// </summary>
event EventHandler<CachePackageCompleteEventArgs> CachePackageComplete;
/// <summary>
/// Fired when the engine failed validating a package in the package cache that is non-vital to execution.
/// </summary>
event EventHandler<CachePackageNonVitalValidationFailureEventArgs> CachePackageNonVitalValidationFailure;
/// <summary>
/// Fired when the engine begins the extraction of the payload from the container.
/// </summary>
event EventHandler<CachePayloadExtractBeginEventArgs> CachePayloadExtractBegin;
/// <summary>
/// Fired when the engine has completed the extraction of the payload from the container.
/// </summary>
event EventHandler<CachePayloadExtractCompleteEventArgs> CachePayloadExtractComplete;
/// <summary>
/// Fired when the engine has progress extracting the payload from the container.
/// </summary>
event EventHandler<CachePayloadExtractProgressEventArgs> CachePayloadExtractProgress;
/// <summary>
/// Fired when the engine begins the verification of the acquired payload or container.
/// </summary>
event EventHandler<CacheVerifyBeginEventArgs> CacheVerifyBegin;
/// <summary>
/// Fired when the engine has completed the verification of the acquired payload or container.
/// </summary>
event EventHandler<CacheVerifyCompleteEventArgs> CacheVerifyComplete;
/// <summary>
/// Fired when the engine has progress verifying the payload or container.
/// </summary>
event EventHandler<CacheVerifyProgressEventArgs> CacheVerifyProgress;
/// <summary>
/// Fired when the engine is about to commit an MSI transaction.
/// </summary>
event EventHandler<CommitMsiTransactionBeginEventArgs> CommitMsiTransactionBegin;
/// <summary>
/// Fired when the engine has completed comitting an MSI transaction.
/// </summary>
event EventHandler<CommitMsiTransactionCompleteEventArgs> CommitMsiTransactionComplete;
/// <summary>
/// Fired when the application is being created.
/// </summary>
event EventHandler<CreateEventArgs> Create;
/// <summary>
/// Fired when the application is being destroyed.
/// </summary>
event EventHandler<DestroyEventArgs> Destroy;
/// <summary>
/// Fired when the overall detection phase has begun.
/// </summary>
event EventHandler<DetectBeginEventArgs> DetectBegin;
/// <summary>
/// Fired when a package was not detected but a package using the same provider key was.
/// </summary>
event EventHandler<DetectCompatibleMsiPackageEventArgs> DetectCompatibleMsiPackage;
/// <summary>
/// Fired when the detection phase has completed.
/// </summary>
event EventHandler<DetectCompleteEventArgs> DetectComplete;
/// <summary>
/// Fired when a forward compatible bundle is detected.
/// </summary>
event EventHandler<DetectForwardCompatibleBundleEventArgs> DetectForwardCompatibleBundle;
/// <summary>
/// Fired when a feature in an MSI package has been detected.
/// </summary>
event EventHandler<DetectMsiFeatureEventArgs> DetectMsiFeature;
/// <summary>
/// Fired when the detection for a specific package has begun.
/// </summary>
event EventHandler<DetectPackageBeginEventArgs> DetectPackageBegin;
/// <summary>
/// Fired when the detection for a specific package has completed.
/// </summary>
event EventHandler<DetectPackageCompleteEventArgs> DetectPackageComplete;
/// <summary>
/// Fired when the engine detects a target product for an MSP package.
/// </summary>
event EventHandler<DetectPatchTargetEventArgs> DetectPatchTarget;
/// <summary>
/// Fired when a related bundle has been detected for a bundle.
/// </summary>
event EventHandler<DetectRelatedBundleEventArgs> DetectRelatedBundle;
/// <summary>
/// Fired when a related bundle has been detected for a bundle package.
/// </summary>
event EventHandler<DetectRelatedBundlePackageEventArgs> DetectRelatedBundlePackage;
/// <summary>
/// Fired when a related MSI package has been detected for a package.
/// </summary>
event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage;
/// <summary>
/// Fired when the update detection has found a potential update candidate.
/// </summary>
event EventHandler<DetectUpdateEventArgs> DetectUpdate;
/// <summary>
/// Fired when the update detection phase has begun.
/// </summary>
event EventHandler<DetectUpdateBeginEventArgs> DetectUpdateBegin;
/// <summary>
/// Fired when the update detection phase has completed.
/// </summary>
event EventHandler<DetectUpdateCompleteEventArgs> DetectUpdateComplete;
/// <summary>
/// Fired when the engine is about to start the elevated process.
/// </summary>
event EventHandler<ElevateBeginEventArgs> ElevateBegin;
/// <summary>
/// Fired when the engine has completed starting the elevated process.
/// </summary>
event EventHandler<ElevateCompleteEventArgs> ElevateComplete;
/// <summary>
/// Fired when the engine has encountered an error.
/// </summary>
event EventHandler<ErrorEventArgs> Error;
/// <summary>
/// Fired when the engine has begun installing packages.
/// </summary>
event EventHandler<ExecuteBeginEventArgs> ExecuteBegin;
/// <summary>
/// Fired when the engine has completed installing packages.
/// </summary>
event EventHandler<ExecuteCompleteEventArgs> ExecuteComplete;
/// <summary>
/// Fired when a package sends a files in use installation message.
/// </summary>
event EventHandler<ExecuteFilesInUseEventArgs> ExecuteFilesInUse;
/// <summary>
/// Fired when Windows Installer sends an installation message.
/// </summary>
event EventHandler<ExecuteMsiMessageEventArgs> ExecuteMsiMessage;
/// <summary>
/// Fired when the engine has begun installing a specific package.
/// </summary>
event EventHandler<ExecutePackageBeginEventArgs> ExecutePackageBegin;
/// <summary>
/// Fired when the engine has completed installing a specific package.
/// </summary>
event EventHandler<ExecutePackageCompleteEventArgs> ExecutePackageComplete;
/// <summary>
/// Fired when a package that spawned a process is cancelled.
/// </summary>
event EventHandler<ExecuteProcessCancelEventArgs> ExecuteProcessCancel;
/// <summary>
/// Fired when the engine executes one or more patches targeting a product.
/// </summary>
event EventHandler<ExecutePatchTargetEventArgs> ExecutePatchTarget;
/// <summary>
/// Fired by the engine while executing a package.
/// </summary>
event EventHandler<ExecuteProgressEventArgs> ExecuteProgress;
/// <summary>
/// Fired when the engine is about to launch the preapproved executable.
/// </summary>
event EventHandler<LaunchApprovedExeBeginEventArgs> LaunchApprovedExeBegin;
/// <summary>
/// Fired when the engine has completed launching the preapproved executable.
/// </summary>
event EventHandler<LaunchApprovedExeCompleteEventArgs> LaunchApprovedExeComplete;
/// <summary>
/// Fired when the engine is about to pause Windows automatic updates.
/// </summary>
event EventHandler<PauseAutomaticUpdatesBeginEventArgs> PauseAutomaticUpdatesBegin;
/// <summary>
/// Fired when the engine has completed pausing Windows automatic updates.
/// </summary>
event EventHandler<PauseAutomaticUpdatesCompleteEventArgs> PauseAutomaticUpdatesComplete;
/// <summary>
/// Fired when the engine has begun planning the installation.
/// </summary>
event EventHandler<PlanBeginEventArgs> PlanBegin;
/// <summary>
/// Fired when the engine plans a new, compatible package using the same provider key.
/// </summary>
event EventHandler<PlanCompatibleMsiPackageBeginEventArgs> PlanCompatibleMsiPackageBegin;
/// <summary>
/// Fired when the engine has completed planning the installation of a specific package.
/// </summary>
event EventHandler<PlanCompatibleMsiPackageCompleteEventArgs> PlanCompatibleMsiPackageComplete;
/// <summary>
/// Fired when the engine has completed planning the installation.
/// </summary>
event EventHandler<PlanCompleteEventArgs> PlanComplete;
/// <summary>
/// Fired when the engine is about to plan a forward compatible bundle.
/// </summary>
event EventHandler<PlanForwardCompatibleBundleEventArgs> PlanForwardCompatibleBundle;
/// <summary>
/// Fired when the engine has completed planning a compatible package.
/// </summary>
event EventHandler<PlannedCompatiblePackageEventArgs> PlannedCompatiblePackage;
/// <summary>
/// Fired when the engine has completed planning a package.
/// </summary>
event EventHandler<PlannedPackageEventArgs> PlannedPackage;
/// <summary>
/// Fired when the engine is about to plan a feature in an MSI package.
/// </summary>
event EventHandler<PlanMsiFeatureEventArgs> PlanMsiFeature;
/// <summary>
/// Fired when the engine is planning an MSI or MSP package.
/// </summary>
event EventHandler<PlanMsiPackageEventArgs> PlanMsiPackage;
/// <summary>
/// Fired when the engine has begun getting the BA's input for planning a package.
/// </summary>
event EventHandler<PlanPackageBeginEventArgs> PlanPackageBegin;
/// <summary>
/// Fired when the engine has completed getting the BA's input for planning a package.
/// </summary>
event EventHandler<PlanPackageCompleteEventArgs> PlanPackageComplete;
/// <summary>
/// Fired when the engine is about to plan a target of an MSP package.
/// </summary>
event EventHandler<PlanPatchTargetEventArgs> PlanPatchTarget;
/// <summary>
/// Fired when the engine has begun planning for a related bundle.
/// </summary>
event EventHandler<PlanRelatedBundleEventArgs> PlanRelatedBundle;
/// <summary>
/// Fired when the engine has begun planning the related bundle relation type.
/// </summary>
event EventHandler<PlanRelatedBundleTypeEventArgs> PlanRelatedBundleType;
/// <summary>
/// Fired when the engine has begun planning an upgrade related bundle for restoring in case of failure.
/// </summary>
event EventHandler<PlanRestoreRelatedBundleEventArgs> PlanRestoreRelatedBundle;
/// <summary>
/// Fired when the engine is planning a rollback boundary.
/// </summary>
event EventHandler<PlanRollbackBoundaryEventArgs> PlanRollbackBoundary;
/// <summary>
/// Fired when the engine has changed progress for the bundle installation.
/// </summary>
event EventHandler<ProgressEventArgs> Progress;
/// <summary>
/// Fired when the engine has begun registering the location and visibility of the bundle.
/// </summary>
event EventHandler<RegisterBeginEventArgs> RegisterBegin;
/// <summary>
/// Fired when the engine has completed registering the location and visibility of the bundle.
/// </summary>
event EventHandler<RegisterCompleteEventArgs> RegisterComplete;
/// <summary>
/// Fired when the engine is about to rollback an MSI transaction.
/// </summary>
event EventHandler<RollbackMsiTransactionBeginEventArgs> RollbackMsiTransactionBegin;
/// <summary>
/// Fired when the engine has completed rolling back an MSI transaction.
/// </summary>
event EventHandler<RollbackMsiTransactionCompleteEventArgs> RollbackMsiTransactionComplete;
/// <summary>
/// Fired when the engine is shutting down the bootstrapper application.
/// </summary>
event EventHandler<ShutdownEventArgs> Shutdown;
/// <summary>
/// Fired when the engine is starting up the bootstrapper application.
/// </summary>
event EventHandler<StartupEventArgs> Startup;
/// <summary>
/// Fired when the engine is about to take a system restore point.
/// </summary>
event EventHandler<SystemRestorePointBeginEventArgs> SystemRestorePointBegin;
/// <summary>
/// Fired when the engine has completed taking a system restore point.
/// </summary>
event EventHandler<SystemRestorePointCompleteEventArgs> SystemRestorePointComplete;
/// <summary>
/// Fired when the engine unregisters the bundle.
/// </summary>
event EventHandler<UnregisterBeginEventArgs> UnregisterBegin;
/// <summary>
/// Fired when the engine unregistration is complete.
/// </summary>
event EventHandler<UnregisterCompleteEventArgs> UnregisterComplete;
}
}
|