aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs')
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs387
1 files changed, 387 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs
new file mode 100644
index 00000000..a295f6c0
--- /dev/null
+++ b/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs
@@ -0,0 +1,387 @@
1// 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.
2
3namespace WixToolset.Mba.Core
4{
5 using System;
6
7 /// <summary>
8 /// Interface for built-in implementation of <see cref="IBootstrapperApplication"/>.
9 /// </summary>
10 public interface IDefaultBootstrapperApplication : IBootstrapperApplication
11 {
12 /// <summary>
13 /// Fired when the engine has begun installing the bundle.
14 /// </summary>
15 event EventHandler<ApplyBeginEventArgs> ApplyBegin;
16
17 /// <summary>
18 /// Fired when the engine has completed installing the bundle.
19 /// </summary>
20 event EventHandler<ApplyCompleteEventArgs> ApplyComplete;
21
22 /// <summary>
23 /// Fired when the engine is about to begin an MSI transaction.
24 /// </summary>
25 event EventHandler<BeginMsiTransactionBeginEventArgs> BeginMsiTransactionBegin;
26
27 /// <summary>
28 /// Fired when the engine has completed beginning an MSI transaction.
29 /// </summary>
30 event EventHandler<BeginMsiTransactionCompleteEventArgs> BeginMsiTransactionComplete;
31
32 /// <summary>
33 /// Fired when the engine has begun acquiring the payload or container.
34 /// The BA can change the source using <see cref="IEngine.SetLocalSource(string, string, string)"/>
35 /// or <see cref="IEngine.SetDownloadSource(string, string, string, string, string)"/>.
36 /// </summary>
37 event EventHandler<CacheAcquireBeginEventArgs> CacheAcquireBegin;
38
39 /// <summary>
40 /// Fired when the engine has completed the acquisition of the payload or container.
41 /// The BA can change the source using <see cref="IEngine.SetLocalSource(string, string, string)"/>
42 /// or <see cref="IEngine.SetDownloadSource(string, string, string, string, string)"/>.
43 /// </summary>
44 event EventHandler<CacheAcquireCompleteEventArgs> CacheAcquireComplete;
45
46 /// <summary>
47 /// Fired when the engine has progress acquiring the payload or container.
48 /// </summary>
49 event EventHandler<CacheAcquireProgressEventArgs> CacheAcquireProgress;
50
51 /// <summary>
52 /// Fired by the engine to allow the BA to override the acquisition action.
53 /// </summary>
54 event EventHandler<CacheAcquireResolvingEventArgs> CacheAcquireResolving;
55
56 /// <summary>
57 /// Fired when the engine has begun caching the installation sources.
58 /// </summary>
59 event EventHandler<CacheBeginEventArgs> CacheBegin;
60
61 /// <summary>
62 /// Fired after the engine has cached the installation sources.
63 /// </summary>
64 event EventHandler<CacheCompleteEventArgs> CacheComplete;
65
66 /// <summary>
67 /// Fired when the engine begins the verification of the payload or container that was already in the package cache.
68 /// </summary>
69 event EventHandler<CacheContainerOrPayloadVerifyBeginEventArgs> CacheContainerOrPayloadVerifyBegin;
70
71 /// <summary>
72 /// Fired when the engine has completed the verification of the payload or container that was already in the package cache.
73 /// </summary>
74 event EventHandler<CacheContainerOrPayloadVerifyCompleteEventArgs> CacheContainerOrPayloadVerifyComplete;
75
76 /// <summary>
77 /// Fired when the engine has progress verifying the payload or container that was already in the package cache.
78 /// </summary>
79 event EventHandler<CacheContainerOrPayloadVerifyProgressEventArgs> CacheContainerOrPayloadVerifyProgress;
80
81 /// <summary>
82 /// Fired when the engine has begun caching a specific package.
83 /// </summary>
84 event EventHandler<CachePackageBeginEventArgs> CachePackageBegin;
85
86 /// <summary>
87 /// Fired when the engine has completed caching a specific package.
88 /// </summary>
89 event EventHandler<CachePackageCompleteEventArgs> CachePackageComplete;
90
91 /// <summary>
92 /// Fired when the engine begins the extraction of the payload from the container.
93 /// </summary>
94 event EventHandler<CachePayloadExtractBeginEventArgs> CachePayloadExtractBegin;
95
96 /// <summary>
97 /// Fired when the engine has completed the extraction of the payload from the container.
98 /// </summary>
99 event EventHandler<CachePayloadExtractCompleteEventArgs> CachePayloadExtractComplete;
100
101 /// <summary>
102 /// Fired when the engine has progress extracting the payload from the container.
103 /// </summary>
104 event EventHandler<CachePayloadExtractProgressEventArgs> CachePayloadExtractProgress;
105
106 /// <summary>
107 /// Fired when the engine begins the verification of the acquired payload or container.
108 /// </summary>
109 event EventHandler<CacheVerifyBeginEventArgs> CacheVerifyBegin;
110
111 /// <summary>
112 /// Fired when the engine has completed the verification of the acquired payload or container.
113 /// </summary>
114 event EventHandler<CacheVerifyCompleteEventArgs> CacheVerifyComplete;
115
116 /// <summary>
117 /// Fired when the engine has progress verifying the payload or container.
118 /// </summary>
119 event EventHandler<CacheVerifyProgressEventArgs> CacheVerifyProgress;
120
121 /// <summary>
122 /// Fired when the engine is about to commit an MSI transaction.
123 /// </summary>
124 event EventHandler<CommitMsiTransactionBeginEventArgs> CommitMsiTransactionBegin;
125
126 /// <summary>
127 /// Fired when the engine has completed comitting an MSI transaction.
128 /// </summary>
129 event EventHandler<CommitMsiTransactionCompleteEventArgs> CommitMsiTransactionComplete;
130
131 /// <summary>
132 /// Fired when the overall detection phase has begun.
133 /// </summary>
134 event EventHandler<DetectBeginEventArgs> DetectBegin;
135
136 /// <summary>
137 /// Fired when the detection phase has completed.
138 /// </summary>
139 event EventHandler<DetectCompleteEventArgs> DetectComplete;
140
141 /// <summary>
142 /// Fired when a forward compatible bundle is detected.
143 /// </summary>
144 event EventHandler<DetectForwardCompatibleBundleEventArgs> DetectForwardCompatibleBundle;
145
146 /// <summary>
147 /// Fired when a feature in an MSI package has been detected.
148 /// </summary>
149 event EventHandler<DetectMsiFeatureEventArgs> DetectMsiFeature;
150
151 /// <summary>
152 /// Fired when the detection for a specific package has begun.
153 /// </summary>
154 event EventHandler<DetectPackageBeginEventArgs> DetectPackageBegin;
155
156 /// <summary>
157 /// Fired when the detection for a specific package has completed.
158 /// </summary>
159 event EventHandler<DetectPackageCompleteEventArgs> DetectPackageComplete;
160
161 /// <summary>
162 /// Fired when the engine detects a target product for an MSP package.
163 /// </summary>
164 event EventHandler<DetectPatchTargetEventArgs> DetectPatchTarget;
165
166 /// <summary>
167 /// Fired when a related bundle has been detected for a bundle.
168 /// </summary>
169 event EventHandler<DetectRelatedBundleEventArgs> DetectRelatedBundle;
170
171 /// <summary>
172 /// Fired when a related MSI package has been detected for a package.
173 /// </summary>
174 event EventHandler<DetectRelatedMsiPackageEventArgs> DetectRelatedMsiPackage;
175
176 /// <summary>
177 /// Fired when the update detection has found a potential update candidate.
178 /// </summary>
179 event EventHandler<DetectUpdateEventArgs> DetectUpdate;
180
181 /// <summary>
182 /// Fired when the update detection phase has begun.
183 /// </summary>
184 event EventHandler<DetectUpdateBeginEventArgs> DetectUpdateBegin;
185
186 /// <summary>
187 /// Fired when the update detection phase has completed.
188 /// </summary>
189 event EventHandler<DetectUpdateCompleteEventArgs> DetectUpdateComplete;
190
191 /// <summary>
192 /// Fired when the engine is about to start the elevated process.
193 /// </summary>
194 event EventHandler<ElevateBeginEventArgs> ElevateBegin;
195
196 /// <summary>
197 /// Fired when the engine has completed starting the elevated process.
198 /// </summary>
199 event EventHandler<ElevateCompleteEventArgs> ElevateComplete;
200
201 /// <summary>
202 /// Fired when the engine has encountered an error.
203 /// </summary>
204 event EventHandler<ErrorEventArgs> Error;
205
206 /// <summary>
207 /// Fired when the engine has begun installing packages.
208 /// </summary>
209 event EventHandler<ExecuteBeginEventArgs> ExecuteBegin;
210
211 /// <summary>
212 /// Fired when the engine has completed installing packages.
213 /// </summary>
214 event EventHandler<ExecuteCompleteEventArgs> ExecuteComplete;
215
216 /// <summary>
217 /// Fired when a package sends a files in use installation message.
218 /// </summary>
219 event EventHandler<ExecuteFilesInUseEventArgs> ExecuteFilesInUse;
220
221 /// <summary>
222 /// Fired when Windows Installer sends an installation message.
223 /// </summary>
224 event EventHandler<ExecuteMsiMessageEventArgs> ExecuteMsiMessage;
225
226 /// <summary>
227 /// Fired when the engine has begun installing a specific package.
228 /// </summary>
229 event EventHandler<ExecutePackageBeginEventArgs> ExecutePackageBegin;
230
231 /// <summary>
232 /// Fired when the engine has completed installing a specific package.
233 /// </summary>
234 event EventHandler<ExecutePackageCompleteEventArgs> ExecutePackageComplete;
235
236 /// <summary>
237 /// Fired when the engine executes one or more patches targeting a product.
238 /// </summary>
239 event EventHandler<ExecutePatchTargetEventArgs> ExecutePatchTarget;
240
241 /// <summary>
242 /// Fired by the engine while executing a package.
243 /// </summary>
244 event EventHandler<ExecuteProgressEventArgs> ExecuteProgress;
245
246 /// <summary>
247 /// Fired when the engine is about to launch the preapproved executable.
248 /// </summary>
249 event EventHandler<LaunchApprovedExeBeginEventArgs> LaunchApprovedExeBegin;
250
251 /// <summary>
252 /// Fired when the engine has completed launching the preapproved executable.
253 /// </summary>
254 event EventHandler<LaunchApprovedExeCompleteEventArgs> LaunchApprovedExeComplete;
255
256 /// <summary>
257 /// Fired when the engine is about to pause Windows automatic updates.
258 /// </summary>
259 event EventHandler<PauseAutomaticUpdatesBeginEventArgs> PauseAutomaticUpdatesBegin;
260
261 /// <summary>
262 /// Fired when the engine has completed pausing Windows automatic updates.
263 /// </summary>
264 event EventHandler<PauseAutomaticUpdatesCompleteEventArgs> PauseAutomaticUpdatesComplete;
265
266 /// <summary>
267 /// Fired when the engine has begun planning the installation.
268 /// </summary>
269 event EventHandler<PlanBeginEventArgs> PlanBegin;
270
271 /// <summary>
272 /// Fired when the engine has completed planning the installation.
273 /// </summary>
274 event EventHandler<PlanCompleteEventArgs> PlanComplete;
275
276 /// <summary>
277 /// Fired when the engine is about to plan a forward compatible bundle.
278 /// </summary>
279 event EventHandler<PlanForwardCompatibleBundleEventArgs> PlanForwardCompatibleBundle;
280
281 /// <summary>
282 /// Fired when the engine has completed planning a package.
283 /// </summary>
284 event EventHandler<PlannedPackageEventArgs> PlannedPackage;
285
286 /// <summary>
287 /// Fired when the engine is about to plan a feature in an MSI package.
288 /// </summary>
289 event EventHandler<PlanMsiFeatureEventArgs> PlanMsiFeature;
290
291 /// <summary>
292 /// Fired when the engine is planning an MSI or MSP package.
293 /// </summary>
294 event EventHandler<PlanMsiPackageEventArgs> PlanMsiPackage;
295
296 /// <summary>
297 /// Fired when the engine has begun getting the BA's input for planning a package.
298 /// </summary>
299 event EventHandler<PlanPackageBeginEventArgs> PlanPackageBegin;
300
301 /// <summary>
302 /// Fired when the engine has completed getting the BA's input for planning a package.
303 /// </summary>
304 event EventHandler<PlanPackageCompleteEventArgs> PlanPackageComplete;
305
306 /// <summary>
307 /// Fired when the engine is about to plan a target of an MSP package.
308 /// </summary>
309 event EventHandler<PlanPatchTargetEventArgs> PlanPatchTarget;
310
311 /// <summary>
312 /// Fired when the engine has begun planning for a related bundle.
313 /// </summary>
314 event EventHandler<PlanRelatedBundleEventArgs> PlanRelatedBundle;
315
316 /// <summary>
317 /// Fired when the engine has changed progress for the bundle installation.
318 /// </summary>
319 event EventHandler<ProgressEventArgs> Progress;
320
321 /// <summary>
322 /// Fired when the engine has begun registering the location and visibility of the bundle.
323 /// </summary>
324 event EventHandler<RegisterBeginEventArgs> RegisterBegin;
325
326 /// <summary>
327 /// Fired when the engine has completed registering the location and visibility of the bundle.
328 /// </summary>
329 event EventHandler<RegisterCompleteEventArgs> RegisterComplete;
330
331 /// <summary>
332 /// Fired when the engine is about to rollback an MSI transaction.
333 /// </summary>
334 event EventHandler<RollbackMsiTransactionBeginEventArgs> RollbackMsiTransactionBegin;
335
336 /// <summary>
337 /// Fired when the engine has completed rolling back an MSI transaction.
338 /// </summary>
339 event EventHandler<RollbackMsiTransactionCompleteEventArgs> RollbackMsiTransactionComplete;
340
341 /// <summary>
342 /// Fired when the engine is shutting down the bootstrapper application.
343 /// </summary>
344 event EventHandler<ShutdownEventArgs> Shutdown;
345
346 /// <summary>
347 /// Fired when the engine is starting up the bootstrapper application.
348 /// </summary>
349 event EventHandler<StartupEventArgs> Startup;
350
351 /// <summary>
352 /// Fired when the engine is about to take a system restore point.
353 /// </summary>
354 event EventHandler<SystemRestorePointBeginEventArgs> SystemRestorePointBegin;
355
356 /// <summary>
357 /// Fired when the engine has completed taking a system restore point.
358 /// </summary>
359 event EventHandler<SystemRestorePointCompleteEventArgs> SystemRestorePointComplete;
360
361 /// <summary>
362 /// Fired when the system is shutting down or user is logging off.
363 /// </summary>
364 /// <remarks>
365 /// <para>To prevent shutting down or logging off, set <see cref="CancellableHResultEventArgs.Cancel"/> to
366 /// true; otherwise, set it to false.</para>
367 /// <para>By default setup will prevent shutting down or logging off between
368 /// <see cref="IDefaultBootstrapperApplication.ApplyBegin"/> and <see cref="IDefaultBootstrapperApplication.ApplyComplete"/>.
369 /// Derivatives can change this behavior by handling <see cref="IDefaultBootstrapperApplication.SystemShutdown"/>.</para>
370 /// <para>If <see cref="SystemShutdownEventArgs.Reasons"/> contains <see cref="EndSessionReasons.Critical"/>
371 /// the bootstrapper cannot prevent the shutdown and only has a few seconds to save state or perform any other
372 /// critical operations before being closed by the operating system.</para>
373 /// <para>This event may be fired on a different thread.</para>
374 /// </remarks>
375 event EventHandler<SystemShutdownEventArgs> SystemShutdown;
376
377 /// <summary>
378 /// Fired when the engine unregisters the bundle.
379 /// </summary>
380 event EventHandler<UnregisterBeginEventArgs> UnregisterBegin;
381
382 /// <summary>
383 /// Fired when the engine unregistration is complete.
384 /// </summary>
385 event EventHandler<UnregisterCompleteEventArgs> UnregisterComplete;
386 }
387} \ No newline at end of file