aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.BootstrapperApplicationApi/IBootstrapperApplication.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2024-03-06 14:48:10 -0800
committerRob Mensching <rob@firegiant.com>2024-03-07 10:55:57 -0800
commit3d2d46f62fc01e2653d0251ad9703090574e7c41 (patch)
treeffdf7dce6c646f38b5e3ad8325c2ce78ca891a1a /src/api/burn/WixToolset.BootstrapperApplicationApi/IBootstrapperApplication.cs
parenta8504dc4eb1c2d09965b0858699ac737336ef3c1 (diff)
downloadwix-3d2d46f62fc01e2653d0251ad9703090574e7c41.tar.gz
wix-3d2d46f62fc01e2653d0251ad9703090574e7c41.tar.bz2
wix-3d2d46f62fc01e2653d0251ad9703090574e7c41.zip
Better .nupkg names
Diffstat (limited to 'src/api/burn/WixToolset.BootstrapperApplicationApi/IBootstrapperApplication.cs')
-rw-r--r--src/api/burn/WixToolset.BootstrapperApplicationApi/IBootstrapperApplication.cs2013
1 files changed, 2013 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperApplicationApi/IBootstrapperApplication.cs b/src/api/burn/WixToolset.BootstrapperApplicationApi/IBootstrapperApplication.cs
new file mode 100644
index 00000000..ad7f8dd7
--- /dev/null
+++ b/src/api/burn/WixToolset.BootstrapperApplicationApi/IBootstrapperApplication.cs
@@ -0,0 +1,2013 @@
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.BootstrapperApplicationApi
4{
5 using System;
6 using System.Runtime.InteropServices;
7
8 /// <summary>
9 /// Allows customization of the bootstrapper application.
10 /// </summary>
11 [ComImport]
12 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
13 [Guid("53C31D56-49C0-426B-AB06-099D717C67FE")]
14 public interface IBootstrapperApplication
15 {
16 /// <summary>
17 /// Low level method that is called directly from the engine.
18 /// </summary>
19 [PreserveSig]
20 [return: MarshalAs(UnmanagedType.I4)]
21 int BAProc(
22 int message,
23 IntPtr pvArgs,
24 IntPtr pvResults
25 );
26
27 /// <summary>
28 /// Low level method that is called directly from the engine.
29 /// </summary>
30 void BAProcFallback(
31 int message,
32 IntPtr pvArgs,
33 IntPtr pvResults,
34 ref int phr
35 );
36
37 /// <summary>
38 /// See <see cref="IDefaultBootstrapperApplication.Create"/>.
39 /// </summary>
40 [PreserveSig]
41 [return: MarshalAs(UnmanagedType.I4)]
42 int OnCreate(IBootstrapperEngine engine, ref Command command);
43
44 /// <summary>
45 /// See <see cref="IDefaultBootstrapperApplication.Destroy"/>.
46 /// </summary>
47 [PreserveSig]
48 [return: MarshalAs(UnmanagedType.I4)]
49 int OnDestroy(bool reload);
50
51 /// <summary>
52 /// See <see cref="IDefaultBootstrapperApplication.Startup"/>.
53 /// </summary>
54 [PreserveSig]
55 [return: MarshalAs(UnmanagedType.I4)]
56 int OnStartup();
57
58 /// <summary>
59 /// See <see cref="IDefaultBootstrapperApplication.Shutdown"/>.
60 /// </summary>
61 [PreserveSig]
62 [return: MarshalAs(UnmanagedType.I4)]
63 int OnShutdown(ref BOOTSTRAPPER_SHUTDOWN_ACTION action);
64
65 /// <summary>
66 /// See <see cref="IDefaultBootstrapperApplication.DetectBegin"/>.
67 /// </summary>
68 [PreserveSig]
69 [return: MarshalAs(UnmanagedType.I4)]
70 int OnDetectBegin(
71 [MarshalAs(UnmanagedType.Bool)] bool fCached,
72 [MarshalAs(UnmanagedType.U4)] RegistrationType registrationType,
73 [MarshalAs(UnmanagedType.U4)] int cPackages,
74 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
75 );
76
77 /// <summary>
78 /// See <see cref="IDefaultBootstrapperApplication.DetectForwardCompatibleBundle"/>.
79 /// </summary>
80 [PreserveSig]
81 [return: MarshalAs(UnmanagedType.I4)]
82 int OnDetectForwardCompatibleBundle(
83 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId,
84 [MarshalAs(UnmanagedType.U4)] RelationType relationType,
85 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleTag,
86 [MarshalAs(UnmanagedType.Bool)] bool fPerMachine,
87 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion,
88 [MarshalAs(UnmanagedType.Bool)] bool fMissingFromCache,
89 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
90 );
91
92 /// <summary>
93 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdateBegin"/>.
94 /// </summary>
95 [PreserveSig]
96 [return: MarshalAs(UnmanagedType.I4)]
97 int OnDetectUpdateBegin(
98 [MarshalAs(UnmanagedType.LPWStr)] string wzUpdateLocation,
99 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel,
100 [MarshalAs(UnmanagedType.Bool)] ref bool fSkip
101 );
102
103 /// <summary>
104 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdate"/>.
105 /// </summary>
106 [PreserveSig]
107 [return: MarshalAs(UnmanagedType.I4)]
108 int OnDetectUpdate(
109 [MarshalAs(UnmanagedType.LPWStr)] string wzUpdateLocation,
110 [MarshalAs(UnmanagedType.U8)] long dw64Size,
111 [MarshalAs(UnmanagedType.LPWStr)] string wzHash,
112 [MarshalAs(UnmanagedType.U4)] UpdateHashType hashAlgorithm,
113 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion,
114 [MarshalAs(UnmanagedType.LPWStr)] string wzTitle,
115 [MarshalAs(UnmanagedType.LPWStr)] string wzSummary,
116 [MarshalAs(UnmanagedType.LPWStr)] string wzContentType,
117 [MarshalAs(UnmanagedType.LPWStr)] string wzContent,
118 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel,
119 [MarshalAs(UnmanagedType.Bool)] ref bool fStopProcessingUpdates
120 );
121
122 /// <summary>
123 /// See <see cref="IDefaultBootstrapperApplication.DetectUpdateComplete"/>.
124 /// </summary>
125 [PreserveSig]
126 [return: MarshalAs(UnmanagedType.I4)]
127 int OnDetectUpdateComplete(
128 int hrStatus,
129 [MarshalAs(UnmanagedType.Bool)] ref bool fIgnoreError
130 );
131
132 /// <summary>
133 /// See <see cref="IDefaultBootstrapperApplication.DetectRelatedBundle"/>.
134 /// </summary>
135 [PreserveSig]
136 [return: MarshalAs(UnmanagedType.I4)]
137 int OnDetectRelatedBundle(
138 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId,
139 [MarshalAs(UnmanagedType.U4)] RelationType relationType,
140 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleTag,
141 [MarshalAs(UnmanagedType.Bool)] bool fPerMachine,
142 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion,
143 [MarshalAs(UnmanagedType.Bool)] bool fMissingFromCache,
144 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
145 );
146
147 /// <summary>
148 /// See <see cref="IDefaultBootstrapperApplication.DetectPackageBegin"/>.
149 /// </summary>
150 [PreserveSig]
151 [return: MarshalAs(UnmanagedType.I4)]
152 int OnDetectPackageBegin(
153 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
154 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
155 );
156
157 /// <summary>
158 /// See <see cref="IDefaultBootstrapperApplication.DetectCompatibleMsiPackage"/>.
159 /// </summary>
160 [PreserveSig]
161 [return: MarshalAs(UnmanagedType.I4)]
162 int OnDetectCompatibleMsiPackage(
163 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
164 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageId,
165 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageVersion,
166 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
167 );
168
169 /// <summary>
170 /// See <see cref="IDefaultBootstrapperApplication.DetectRelatedMsiPackage"/>.
171 /// </summary>
172 [PreserveSig]
173 [return: MarshalAs(UnmanagedType.I4)]
174 int OnDetectRelatedMsiPackage(
175 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
176 [MarshalAs(UnmanagedType.LPWStr)] string wzUpgradeCode,
177 [MarshalAs(UnmanagedType.LPWStr)] string wzProductCode,
178 [MarshalAs(UnmanagedType.Bool)] bool fPerMachine,
179 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion,
180 [MarshalAs(UnmanagedType.U4)] RelatedOperation operation,
181 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
182 );
183
184 /// <summary>
185 /// See <see cref="IDefaultBootstrapperApplication.DetectPatchTarget"/>.
186 /// </summary>
187 [PreserveSig]
188 [return: MarshalAs(UnmanagedType.I4)]
189 int OnDetectPatchTarget(
190 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
191 [MarshalAs(UnmanagedType.LPWStr)] string wzProductCode,
192 [MarshalAs(UnmanagedType.U4)] PackageState patchState,
193 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
194 );
195
196 /// <summary>
197 /// See <see cref="IDefaultBootstrapperApplication.DetectMsiFeature"/>.
198 /// </summary>
199 [PreserveSig]
200 [return: MarshalAs(UnmanagedType.I4)]
201 int OnDetectMsiFeature(
202 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
203 [MarshalAs(UnmanagedType.LPWStr)] string wzFeatureId,
204 [MarshalAs(UnmanagedType.U4)] FeatureState state,
205 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
206 );
207
208 /// <summary>
209 /// See <see cref="IDefaultBootstrapperApplication.DetectPackageComplete"/>.
210 /// </summary>
211 [PreserveSig]
212 [return: MarshalAs(UnmanagedType.I4)]
213 int OnDetectPackageComplete(
214 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
215 int hrStatus,
216 [MarshalAs(UnmanagedType.U4)] PackageState state,
217 [MarshalAs(UnmanagedType.Bool)] bool fCached
218 );
219
220 /// <summary>
221 /// See <see cref="IDefaultBootstrapperApplication.DetectComplete"/>.
222 /// </summary>
223 [PreserveSig]
224 [return: MarshalAs(UnmanagedType.I4)]
225 int OnDetectComplete(
226 int hrStatus,
227 [MarshalAs(UnmanagedType.Bool)] bool fEligibleForCleanup
228 );
229
230 /// <summary>
231 /// See <see cref="IDefaultBootstrapperApplication.PlanBegin"/>.
232 /// </summary>
233 [PreserveSig]
234 [return: MarshalAs(UnmanagedType.I4)]
235 int OnPlanBegin(
236 [MarshalAs(UnmanagedType.U4)] int cPackages,
237 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
238 );
239
240 /// <summary>
241 /// See <see cref="IDefaultBootstrapperApplication.PlanRelatedBundle"/>.
242 /// </summary>
243 [PreserveSig]
244 [return: MarshalAs(UnmanagedType.I4)]
245 int OnPlanRelatedBundle(
246 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId,
247 [MarshalAs(UnmanagedType.U4)] RequestState recommendedState,
248 [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState,
249 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
250 );
251
252 /// <summary>
253 /// See <see cref="IDefaultBootstrapperApplication.PlanRollbackBoundary"/>.
254 /// </summary>
255 [PreserveSig]
256 [return: MarshalAs(UnmanagedType.I4)]
257 int OnPlanRollbackBoundary(
258 [MarshalAs(UnmanagedType.LPWStr)] string wzRollbackBoundaryId,
259 [MarshalAs(UnmanagedType.Bool)] bool fRecommendedTransaction,
260 [MarshalAs(UnmanagedType.Bool)] ref bool fTransaction,
261 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
262 );
263
264 /// <summary>
265 /// See <see cref="IDefaultBootstrapperApplication.PlanPackageBegin"/>.
266 /// </summary>
267 [PreserveSig]
268 [return: MarshalAs(UnmanagedType.I4)]
269 int OnPlanPackageBegin(
270 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
271 [MarshalAs(UnmanagedType.U4)] PackageState state,
272 [MarshalAs(UnmanagedType.Bool)] bool fCached,
273 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition,
274 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_PACKAGE_CONDITION_RESULT repairCondition,
275 [MarshalAs(UnmanagedType.U4)] RequestState recommendedState,
276 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_CACHE_TYPE recommendedCacheType,
277 [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState,
278 [MarshalAs(UnmanagedType.U4)] ref BOOTSTRAPPER_CACHE_TYPE pRequestedCacheType,
279 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
280 );
281
282 /// <summary>
283 /// See <see cref="IDefaultBootstrapperApplication.PlanCompatibleMsiPackageBegin"/>.
284 /// </summary>
285 [PreserveSig]
286 [return: MarshalAs(UnmanagedType.I4)]
287 int OnPlanCompatibleMsiPackageBegin(
288 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
289 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageId,
290 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageVersion,
291 [MarshalAs(UnmanagedType.Bool)] bool fRecommendedRemove,
292 [MarshalAs(UnmanagedType.Bool)] ref bool fRequestRemove,
293 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
294 );
295
296 /// <summary>
297 /// See <see cref="IDefaultBootstrapperApplication.PlanCompatibleMsiPackageComplete"/>.
298 /// </summary>
299 [PreserveSig]
300 [return: MarshalAs(UnmanagedType.I4)]
301 int OnPlanCompatibleMsiPackageComplete(
302 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
303 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageId,
304 int hrStatus,
305 [MarshalAs(UnmanagedType.Bool)] bool fRequestedRemove
306 );
307
308 /// <summary>
309 /// See <see cref="IDefaultBootstrapperApplication.PlanPatchTarget"/>.
310 /// </summary>
311 [PreserveSig]
312 [return: MarshalAs(UnmanagedType.I4)]
313 int OnPlanPatchTarget(
314 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
315 [MarshalAs(UnmanagedType.LPWStr)] string wzProductCode,
316 [MarshalAs(UnmanagedType.U4)] RequestState recommendedState,
317 [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState,
318 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
319 );
320
321 /// <summary>
322 /// See <see cref="IDefaultBootstrapperApplication.PlanMsiFeature"/>.
323 /// </summary>
324 [PreserveSig]
325 [return: MarshalAs(UnmanagedType.I4)]
326 int OnPlanMsiFeature(
327 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
328 [MarshalAs(UnmanagedType.LPWStr)] string wzFeatureId,
329 [MarshalAs(UnmanagedType.U4)] FeatureState recommendedState,
330 [MarshalAs(UnmanagedType.U4)] ref FeatureState pRequestedState,
331 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
332 );
333
334 /// <summary>
335 /// See <see cref="IDefaultBootstrapperApplication.PlanMsiPackage"/>.
336 /// </summary>
337 [PreserveSig]
338 [return: MarshalAs(UnmanagedType.I4)]
339 int OnPlanMsiPackage(
340 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
341 [MarshalAs(UnmanagedType.Bool)] bool fExecute,
342 [MarshalAs(UnmanagedType.U4)] ActionState action,
343 [MarshalAs(UnmanagedType.U4)] BOOTSTRAPPER_MSI_FILE_VERSIONING recommendedFileVersioning,
344 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel,
345 [MarshalAs(UnmanagedType.U4)] ref BURN_MSI_PROPERTY actionMsiProperty,
346 [MarshalAs(UnmanagedType.U4)] ref INSTALLUILEVEL uiLevel,
347 [MarshalAs(UnmanagedType.Bool)] ref bool fDisableExternalUiHandler,
348 [MarshalAs(UnmanagedType.U4)] ref BOOTSTRAPPER_MSI_FILE_VERSIONING fileVersioning
349 );
350
351 /// <summary>
352 /// See <see cref="IDefaultBootstrapperApplication.PlanPackageComplete"/>.
353 /// </summary>
354 [PreserveSig]
355 [return: MarshalAs(UnmanagedType.I4)]
356 int OnPlanPackageComplete(
357 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
358 int hrStatus,
359 [MarshalAs(UnmanagedType.U4)] RequestState requested
360 );
361
362 /// <summary>
363 /// See <see cref="IDefaultBootstrapperApplication.PlannedCompatiblePackage"/>.
364 /// </summary>
365 [PreserveSig]
366 [return: MarshalAs(UnmanagedType.I4)]
367 int OnPlannedCompatiblePackage(
368 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
369 [MarshalAs(UnmanagedType.LPWStr)] string wzCompatiblePackageId,
370 [MarshalAs(UnmanagedType.Bool)] bool fRemove
371 );
372
373 /// <summary>
374 /// See <see cref="IDefaultBootstrapperApplication.PlannedPackage"/>.
375 /// </summary>
376 [PreserveSig]
377 [return: MarshalAs(UnmanagedType.I4)]
378 int OnPlannedPackage(
379 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
380 [MarshalAs(UnmanagedType.U4)] ActionState execute,
381 [MarshalAs(UnmanagedType.U4)] ActionState rollback,
382 [MarshalAs(UnmanagedType.Bool)] bool fPlannedCache,
383 [MarshalAs(UnmanagedType.Bool)] bool fPlannedUncache
384 );
385
386 /// <summary>
387 /// See <see cref="IDefaultBootstrapperApplication.PlanComplete"/>.
388 /// </summary>
389 [PreserveSig]
390 [return: MarshalAs(UnmanagedType.I4)]
391 int OnPlanComplete(
392 int hrStatus
393 );
394
395 /// <summary>
396 /// See <see cref="IDefaultBootstrapperApplication.ApplyBegin"/>.
397 /// </summary>
398 [PreserveSig]
399 [return: MarshalAs(UnmanagedType.I4)]
400 int OnApplyBegin(
401 [MarshalAs(UnmanagedType.U4)] int dwPhaseCount,
402 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
403 );
404
405 /// <summary>
406 /// See <see cref="IDefaultBootstrapperApplication.ElevateBegin"/>.
407 /// </summary>
408 [PreserveSig]
409 [return: MarshalAs(UnmanagedType.I4)]
410 int OnElevateBegin(
411 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
412 );
413
414 /// <summary>
415 /// See <see cref="IDefaultBootstrapperApplication.ElevateComplete"/>.
416 /// </summary>
417 [PreserveSig]
418 [return: MarshalAs(UnmanagedType.I4)]
419 int OnElevateComplete(
420 int hrStatus
421 );
422
423 /// <summary>
424 /// See <see cref="IDefaultBootstrapperApplication.Progress"/>.
425 /// </summary>
426 [PreserveSig]
427 [return: MarshalAs(UnmanagedType.I4)]
428 int OnProgress(
429 [MarshalAs(UnmanagedType.U4)] int dwProgressPercentage,
430 [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage,
431 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
432 );
433
434 /// <summary>
435 /// See <see cref="IDefaultBootstrapperApplication.Error"/>.
436 /// </summary>
437 [PreserveSig]
438 [return: MarshalAs(UnmanagedType.I4)]
439 int OnError(
440 [MarshalAs(UnmanagedType.U4)] ErrorType errorType,
441 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
442 [MarshalAs(UnmanagedType.U4)] int dwCode,
443 [MarshalAs(UnmanagedType.LPWStr)] string wzError,
444 [MarshalAs(UnmanagedType.I4)] int dwUIHint,
445 [MarshalAs(UnmanagedType.U4)] int cData,
446 [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 5, ArraySubType = UnmanagedType.LPWStr), In] string[] rgwzData,
447 [MarshalAs(UnmanagedType.I4)] Result nRecommendation,
448 [MarshalAs(UnmanagedType.I4)] ref Result pResult
449 );
450
451 /// <summary>
452 /// See <see cref="IDefaultBootstrapperApplication.RegisterBegin"/>.
453 /// </summary>
454 [PreserveSig]
455 [return: MarshalAs(UnmanagedType.I4)]
456 int OnRegisterBegin(
457 [MarshalAs(UnmanagedType.I4)] RegistrationType recommendedRegistrationType,
458 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel,
459 [MarshalAs(UnmanagedType.I4)] ref RegistrationType pRegistrationType
460 );
461
462 /// <summary>
463 /// See <see cref="IDefaultBootstrapperApplication.RegisterComplete"/>.
464 /// </summary>
465 [PreserveSig]
466 [return: MarshalAs(UnmanagedType.I4)]
467 int OnRegisterComplete(
468 int hrStatus
469 );
470
471 /// <summary>
472 /// See <see cref="IDefaultBootstrapperApplication.CacheBegin"/>.
473 /// </summary>
474 [PreserveSig]
475 [return: MarshalAs(UnmanagedType.I4)]
476 int OnCacheBegin(
477 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
478 );
479
480 /// <summary>
481 /// See <see cref="IDefaultBootstrapperApplication.CachePackageBegin"/>.
482 /// </summary>
483 [PreserveSig]
484 [return: MarshalAs(UnmanagedType.I4)]
485 int OnCachePackageBegin(
486 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
487 [MarshalAs(UnmanagedType.U4)] int cCachePayloads,
488 [MarshalAs(UnmanagedType.U8)] long dw64PackageCacheSize,
489 [MarshalAs(UnmanagedType.Bool)] bool fVital,
490 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
491 );
492
493 /// <summary>
494 /// See <see cref="IDefaultBootstrapperApplication.CacheAcquireBegin"/>.
495 /// </summary>
496 [PreserveSig]
497 [return: MarshalAs(UnmanagedType.I4)]
498 int OnCacheAcquireBegin(
499 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
500 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
501 [MarshalAs(UnmanagedType.LPWStr)] string wzSource,
502 [MarshalAs(UnmanagedType.LPWStr)] string wzDownloadUrl,
503 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadContainerId,
504 [MarshalAs(UnmanagedType.U4)] CacheOperation recommendation,
505 [MarshalAs(UnmanagedType.I4)] ref CacheOperation action,
506 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
507 );
508
509 /// <summary>
510 /// See <see cref="IDefaultBootstrapperApplication.CacheAcquireProgress"/>.
511 /// </summary>
512 [PreserveSig]
513 [return: MarshalAs(UnmanagedType.I4)]
514 int OnCacheAcquireProgress(
515 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
516 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
517 [MarshalAs(UnmanagedType.U8)] long dw64Progress,
518 [MarshalAs(UnmanagedType.U8)] long dw64Total,
519 [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage,
520 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
521 );
522
523 /// <summary>
524 /// See <see cref="IDefaultBootstrapperApplication.CacheAcquireResolving"/>.
525 /// </summary>
526 [PreserveSig]
527 [return: MarshalAs(UnmanagedType.I4)]
528 int OnCacheAcquireResolving(
529 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
530 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
531 [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3, ArraySubType = UnmanagedType.LPWStr), In] string[] searchPaths,
532 [MarshalAs(UnmanagedType.U4)] int cSearchPaths,
533 [MarshalAs(UnmanagedType.Bool)] bool fFoundLocal,
534 [MarshalAs(UnmanagedType.U4)] int dwRecommendedSearchPath,
535 [MarshalAs(UnmanagedType.LPWStr)] string wzDownloadUrl,
536 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadContainerId,
537 [MarshalAs(UnmanagedType.I4)] CacheResolveOperation recommendation,
538 [MarshalAs(UnmanagedType.U4)] ref int dwChosenSearchPath,
539 [MarshalAs(UnmanagedType.I4)] ref CacheResolveOperation action,
540 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
541 );
542
543 /// <summary>
544 /// See <see cref="IDefaultBootstrapperApplication.CacheAcquireComplete"/>.
545 /// </summary>
546 [PreserveSig]
547 [return: MarshalAs(UnmanagedType.I4)]
548 int OnCacheAcquireComplete(
549 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
550 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
551 int hrStatus,
552 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION recommendation,
553 ref BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION pAction
554 );
555
556 /// <summary>
557 /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyBegin"/>.
558 /// </summary>
559 [PreserveSig]
560 [return: MarshalAs(UnmanagedType.I4)]
561 int OnCacheVerifyBegin(
562 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
563 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
564 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
565 );
566
567 /// <summary>
568 /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyProgress"/>.
569 /// </summary>
570 [PreserveSig]
571 [return: MarshalAs(UnmanagedType.I4)]
572 int OnCacheVerifyProgress(
573 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
574 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
575 [MarshalAs(UnmanagedType.U8)] long dw64Progress,
576 [MarshalAs(UnmanagedType.U8)] long dw64Total,
577 [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage,
578 [MarshalAs(UnmanagedType.I4)] CacheVerifyStep verifyStep,
579 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
580 );
581
582 /// <summary>
583 /// See <see cref="IDefaultBootstrapperApplication.CacheVerifyComplete"/>.
584 /// </summary>
585 [PreserveSig]
586 [return: MarshalAs(UnmanagedType.I4)]
587 int OnCacheVerifyComplete(
588 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
589 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
590 int hrStatus,
591 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION recommendation,
592 ref BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action
593 );
594
595 /// <summary>
596 /// See <see cref="IDefaultBootstrapperApplication.CachePackageComplete"/>.
597 /// </summary>
598 [PreserveSig]
599 [return: MarshalAs(UnmanagedType.I4)]
600 int OnCachePackageComplete(
601 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
602 int hrStatus,
603 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation,
604 ref BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action
605 );
606
607 /// <summary>
608 /// See <see cref="IDefaultBootstrapperApplication.CacheComplete"/>.
609 /// </summary>
610 /// <param name="hrStatus"></param>
611 /// <returns></returns>
612 [PreserveSig]
613 [return: MarshalAs(UnmanagedType.I4)]
614 int OnCacheComplete(
615 int hrStatus
616 );
617
618 /// <summary>
619 /// See <see cref="IDefaultBootstrapperApplication.ExecuteBegin"/>.
620 /// </summary>
621 [PreserveSig]
622 [return: MarshalAs(UnmanagedType.I4)]
623 int OnExecuteBegin(
624 [MarshalAs(UnmanagedType.U4)] int cExecutingPackages,
625 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
626 );
627
628 /// <summary>
629 /// See <see cref="IDefaultBootstrapperApplication.ExecutePackageBegin"/>.
630 /// </summary>
631 [PreserveSig]
632 [return: MarshalAs(UnmanagedType.I4)]
633 int OnExecutePackageBegin(
634 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
635 [MarshalAs(UnmanagedType.Bool)] bool fExecute,
636 [MarshalAs(UnmanagedType.U4)] ActionState action,
637 [MarshalAs(UnmanagedType.U4)] INSTALLUILEVEL uiLevel,
638 [MarshalAs(UnmanagedType.Bool)] bool fDisableExternalUiHandler,
639 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
640 );
641
642 /// <summary>
643 /// See <see cref="IDefaultBootstrapperApplication.ExecutePatchTarget"/>.
644 /// </summary>
645 [PreserveSig]
646 [return: MarshalAs(UnmanagedType.I4)]
647 int OnExecutePatchTarget(
648 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
649 [MarshalAs(UnmanagedType.LPWStr)] string wzTargetProductCode,
650 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
651 );
652
653 /// <summary>
654 /// See <see cref="IDefaultBootstrapperApplication.ExecuteProgress"/>.
655 /// </summary>
656 [PreserveSig]
657 [return: MarshalAs(UnmanagedType.I4)]
658 int OnExecuteProgress(
659 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
660 [MarshalAs(UnmanagedType.U4)] int dwProgressPercentage,
661 [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage,
662 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
663 );
664
665 /// <summary>
666 /// See <see cref="IDefaultBootstrapperApplication.ExecuteMsiMessage"/>.
667 /// </summary>
668 [PreserveSig]
669 [return: MarshalAs(UnmanagedType.I4)]
670 int OnExecuteMsiMessage(
671 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
672 [MarshalAs(UnmanagedType.U4)] InstallMessage messageType,
673 [MarshalAs(UnmanagedType.I4)] int dwUIHint,
674 [MarshalAs(UnmanagedType.LPWStr)] string wzMessage,
675 [MarshalAs(UnmanagedType.U4)] int cData,
676 [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4, ArraySubType = UnmanagedType.LPWStr), In] string[] rgwzData,
677 [MarshalAs(UnmanagedType.I4)] Result nRecommendation,
678 [MarshalAs(UnmanagedType.I4)] ref Result pResult
679 );
680
681 /// <summary>
682 /// See <see cref="IDefaultBootstrapperApplication.ExecuteFilesInUse"/>.
683 /// </summary>
684 [PreserveSig]
685 [return: MarshalAs(UnmanagedType.I4)]
686 int OnExecuteFilesInUse(
687 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
688 [MarshalAs(UnmanagedType.U4)] int cFiles,
689 [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1, ArraySubType = UnmanagedType.LPWStr), In] string[] rgwzFiles,
690 [MarshalAs(UnmanagedType.I4)] Result nRecommendation,
691 [MarshalAs(UnmanagedType.I4)] FilesInUseType source,
692 [MarshalAs(UnmanagedType.I4)] ref Result pResult
693 );
694
695 /// <summary>
696 /// See <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/>.
697 /// </summary>
698 [PreserveSig]
699 [return: MarshalAs(UnmanagedType.I4)]
700 int OnExecutePackageComplete(
701 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
702 int hrStatus,
703 [MarshalAs(UnmanagedType.U4)] ApplyRestart restart,
704 [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION recommendation,
705 [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION pAction
706 );
707
708 /// <summary>
709 /// See <see cref="IDefaultBootstrapperApplication.ExecuteComplete"/>.
710 /// </summary>
711 [PreserveSig]
712 [return: MarshalAs(UnmanagedType.I4)]
713 int OnExecuteComplete(
714 int hrStatus
715 );
716
717 /// <summary>
718 /// See <see cref="IDefaultBootstrapperApplication.UnregisterBegin"/>.
719 /// </summary>
720 [PreserveSig]
721 [return: MarshalAs(UnmanagedType.I4)]
722 int OnUnregisterBegin(
723 [MarshalAs(UnmanagedType.I4)] RegistrationType recommendedRegistrationType,
724 [MarshalAs(UnmanagedType.I4)] ref RegistrationType pRegistrationType
725 );
726
727 /// <summary>
728 /// See <see cref="IDefaultBootstrapperApplication.UnregisterComplete"/>.
729 /// </summary>
730 [PreserveSig]
731 [return: MarshalAs(UnmanagedType.I4)]
732 int OnUnregisterComplete(
733 int hrStatus
734 );
735
736 /// <summary>
737 /// See <see cref="IDefaultBootstrapperApplication.ApplyComplete"/>.
738 /// </summary>
739 [PreserveSig]
740 [return: MarshalAs(UnmanagedType.I4)]
741 int OnApplyComplete(
742 int hrStatus,
743 [MarshalAs(UnmanagedType.U4)] ApplyRestart restart,
744 [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_APPLYCOMPLETE_ACTION recommendation,
745 [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_APPLYCOMPLETE_ACTION pAction
746 );
747
748 /// <summary>
749 /// See <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeBegin"/>.
750 /// </summary>
751 [PreserveSig]
752 [return: MarshalAs(UnmanagedType.I4)]
753 int OnLaunchApprovedExeBegin(
754 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
755 );
756
757 /// <summary>
758 /// See <see cref="IDefaultBootstrapperApplication.LaunchApprovedExeComplete"/>.
759 /// </summary>
760 [PreserveSig]
761 [return: MarshalAs(UnmanagedType.I4)]
762 int OnLaunchApprovedExeComplete(
763 int hrStatus,
764 int processId
765 );
766
767 /// <summary>
768 /// See <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionBegin"/>.
769 /// </summary>
770 [PreserveSig]
771 [return: MarshalAs(UnmanagedType.I4)]
772 int OnBeginMsiTransactionBegin(
773 [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId,
774 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
775 );
776
777 /// <summary>
778 /// See <see cref="IDefaultBootstrapperApplication.BeginMsiTransactionComplete"/>.
779 /// </summary>
780 [PreserveSig]
781 [return: MarshalAs(UnmanagedType.I4)]
782 int OnBeginMsiTransactionComplete(
783 [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId,
784 int hrStatus
785 );
786
787 /// <summary>
788 /// See <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionBegin"/>.
789 /// </summary>
790 [PreserveSig]
791 [return: MarshalAs(UnmanagedType.I4)]
792 int OnCommitMsiTransactionBegin(
793 [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId,
794 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
795 );
796
797 /// <summary>
798 /// See <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionComplete"/>.
799 /// </summary>
800 [PreserveSig]
801 [return: MarshalAs(UnmanagedType.I4)]
802 int OnCommitMsiTransactionComplete(
803 [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId,
804 int hrStatus,
805 [MarshalAs(UnmanagedType.U4)] ApplyRestart restart,
806 [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation,
807 [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION pAction
808 );
809
810 /// <summary>
811 /// See <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionBegin"/>.
812 /// </summary>
813 [PreserveSig]
814 [return: MarshalAs(UnmanagedType.I4)]
815 int OnRollbackMsiTransactionBegin(
816 [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId
817 );
818
819 /// <summary>
820 /// See <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionComplete"/>.
821 /// </summary>
822 [PreserveSig]
823 [return: MarshalAs(UnmanagedType.I4)]
824 int OnRollbackMsiTransactionComplete(
825 [MarshalAs(UnmanagedType.LPWStr)] string wzTransactionId,
826 int hrStatus,
827 [MarshalAs(UnmanagedType.U4)] ApplyRestart restart,
828 [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION recommendation,
829 [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION pAction
830 );
831
832 /// <summary>
833 /// See <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesBegin"/>.
834 /// </summary>
835 [PreserveSig]
836 [return: MarshalAs(UnmanagedType.I4)]
837 int OnPauseAutomaticUpdatesBegin(
838 );
839
840 /// <summary>
841 /// See <see cref="IDefaultBootstrapperApplication.PauseAutomaticUpdatesComplete"/>.
842 /// </summary>
843 [PreserveSig]
844 [return: MarshalAs(UnmanagedType.I4)]
845 int OnPauseAutomaticUpdatesComplete(
846 int hrStatus
847 );
848
849 /// <summary>
850 /// See <see cref="IDefaultBootstrapperApplication.SystemRestorePointBegin"/>.
851 /// </summary>
852 [PreserveSig]
853 [return: MarshalAs(UnmanagedType.I4)]
854 int OnSystemRestorePointBegin(
855 );
856
857 /// <summary>
858 /// See <see cref="IDefaultBootstrapperApplication.SystemRestorePointComplete"/>.
859 /// </summary>
860 [PreserveSig]
861 [return: MarshalAs(UnmanagedType.I4)]
862 int OnSystemRestorePointComplete(
863 int hrStatus
864 );
865
866 /// <summary>
867 /// See <see cref="IDefaultBootstrapperApplication.PlanForwardCompatibleBundle"/>.
868 /// </summary>
869 [PreserveSig]
870 [return: MarshalAs(UnmanagedType.I4)]
871 int OnPlanForwardCompatibleBundle(
872 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId,
873 [MarshalAs(UnmanagedType.U4)] RelationType relationType,
874 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleTag,
875 [MarshalAs(UnmanagedType.Bool)] bool fPerMachine,
876 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion,
877 [MarshalAs(UnmanagedType.Bool)] bool fRecommendedIgnoreBundle,
878 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel,
879 [MarshalAs(UnmanagedType.Bool)] ref bool fIgnoreBundle
880 );
881
882 /// <summary>
883 /// See <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyBegin"/>.
884 /// </summary>
885 [PreserveSig]
886 [return: MarshalAs(UnmanagedType.I4)]
887 int OnCacheContainerOrPayloadVerifyBegin(
888 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
889 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
890 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
891 );
892
893 /// <summary>
894 /// See <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyProgress"/>.
895 /// </summary>
896 [PreserveSig]
897 [return: MarshalAs(UnmanagedType.I4)]
898 int OnCacheContainerOrPayloadVerifyProgress(
899 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
900 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
901 [MarshalAs(UnmanagedType.U8)] long dw64Progress,
902 [MarshalAs(UnmanagedType.U8)] long dw64Total,
903 [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage,
904 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
905 );
906
907 /// <summary>
908 /// See <see cref="IDefaultBootstrapperApplication.CacheContainerOrPayloadVerifyComplete"/>.
909 /// </summary>
910 [PreserveSig]
911 [return: MarshalAs(UnmanagedType.I4)]
912 int OnCacheContainerOrPayloadVerifyComplete(
913 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
914 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
915 int hrStatus
916 );
917
918 /// <summary>
919 /// See <see cref="IDefaultBootstrapperApplication.CachePayloadExtractBegin"/>.
920 /// </summary>
921 [PreserveSig]
922 [return: MarshalAs(UnmanagedType.I4)]
923 int OnCachePayloadExtractBegin(
924 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
925 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
926 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
927 );
928
929 /// <summary>
930 /// See <see cref="IDefaultBootstrapperApplication.CachePayloadExtractProgress"/>.
931 /// </summary>
932 [PreserveSig]
933 [return: MarshalAs(UnmanagedType.I4)]
934 int OnCachePayloadExtractProgress(
935 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageOrContainerId,
936 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
937 [MarshalAs(UnmanagedType.U8)] long dw64Progress,
938 [MarshalAs(UnmanagedType.U8)] long dw64Total,
939 [MarshalAs(UnmanagedType.U4)] int dwOverallPercentage,
940 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
941 );
942
943 /// <summary>
944 /// See <see cref="IDefaultBootstrapperApplication.CachePayloadExtractComplete"/>.
945 /// </summary>
946 [PreserveSig]
947 [return: MarshalAs(UnmanagedType.I4)]
948 int OnCachePayloadExtractComplete(
949 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
950 [MarshalAs(UnmanagedType.LPWStr)] string wzPayloadId,
951 int hrStatus
952 );
953
954 /// <summary>
955 /// See <see cref="IDefaultBootstrapperApplication.PlanRestoreRelatedBundle"/>.
956 /// </summary>
957 [PreserveSig]
958 [return: MarshalAs(UnmanagedType.I4)]
959 int OnPlanRestoreRelatedBundle(
960 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId,
961 [MarshalAs(UnmanagedType.U4)] RequestState recommendedState,
962 [MarshalAs(UnmanagedType.U4)] ref RequestState pRequestedState,
963 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
964 );
965
966 /// <summary>
967 /// See <see cref="IDefaultBootstrapperApplication.PlanRelatedBundleType"/>.
968 /// </summary>
969 [PreserveSig]
970 [return: MarshalAs(UnmanagedType.I4)]
971 int OnPlanRelatedBundleType(
972 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId,
973 [MarshalAs(UnmanagedType.U4)] RelatedBundlePlanType recommendedType,
974 [MarshalAs(UnmanagedType.U4)] ref RelatedBundlePlanType pRequestedType,
975 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
976 );
977
978 /// <summary>
979 /// See <see cref="IDefaultBootstrapperApplication.ApplyDowngrade"/>.
980 /// </summary>
981 [PreserveSig]
982 [return: MarshalAs(UnmanagedType.I4)]
983 int OnApplyDowngrade(
984 [MarshalAs(UnmanagedType.I4)] int hrRecommended,
985 [MarshalAs(UnmanagedType.I4)] ref int hrStatus
986 );
987
988 /// <summary>
989 /// See <see cref="IDefaultBootstrapperApplication.ExecuteProcessCancel"/>.
990 /// </summary>
991 [PreserveSig]
992 [return: MarshalAs(UnmanagedType.I4)]
993 int OnExecuteProcessCancel(
994 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
995 int processId,
996 [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation,
997 [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION pAction
998 );
999
1000 /// <summary>
1001 /// See <see cref="IDefaultBootstrapperApplication.DetectRelatedBundlePackage"/>.
1002 /// </summary>
1003 [PreserveSig]
1004 [return: MarshalAs(UnmanagedType.I4)]
1005 int OnDetectRelatedBundlePackage(
1006 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
1007 [MarshalAs(UnmanagedType.LPWStr)] string wzBundleId,
1008 [MarshalAs(UnmanagedType.U4)] RelationType relationType,
1009 [MarshalAs(UnmanagedType.Bool)] bool fPerMachine,
1010 [MarshalAs(UnmanagedType.LPWStr)] string wzVersion,
1011 [MarshalAs(UnmanagedType.Bool)] ref bool fCancel
1012 );
1013
1014 /// <summary>
1015 /// See <see cref="IDefaultBootstrapperApplication.CachePackageNonVitalValidationFailure"/>.
1016 /// </summary>
1017 [PreserveSig]
1018 [return: MarshalAs(UnmanagedType.I4)]
1019 int OnCachePackageNonVitalValidationFailure(
1020 [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId,
1021 int hrStatus,
1022 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation,
1023 ref BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action
1024 );
1025 }
1026
1027 /// <summary>
1028 /// The display level for the BA.
1029 /// </summary>
1030 public enum Display
1031 {
1032 /// <summary>
1033 /// Invalid value.
1034 /// </summary>
1035 Unknown,
1036
1037 /// <summary>
1038 /// The bundle is being run through the Burn protocol by an external application.
1039 /// </summary>
1040 Embedded,
1041
1042 /// <summary>
1043 /// No UI should be shown.
1044 /// </summary>
1045 None,
1046
1047 /// <summary>
1048 /// The UI should not require any interaction from the user.
1049 /// </summary>
1050 Passive,
1051
1052 /// <summary>
1053 /// The UI should be fully interactive.
1054 /// </summary>
1055 Full,
1056 }
1057
1058 /// <summary>
1059 /// Messages from Windows Installer (msi.h).
1060 /// </summary>
1061 public enum InstallMessage
1062 {
1063 /// <summary>
1064 /// premature termination, possibly fatal OOM
1065 /// </summary>
1066 FatalExit,
1067
1068 /// <summary>
1069 /// formatted error message
1070 /// </summary>
1071 Error = 0x01000000,
1072
1073 /// <summary>
1074 /// formatted warning message
1075 /// </summary>
1076 Warning = 0x02000000,
1077
1078 /// <summary>
1079 /// user request message
1080 /// </summary>
1081 User = 0x03000000,
1082
1083 /// <summary>
1084 /// informative message for log
1085 /// </summary>
1086 Info = 0x04000000,
1087
1088 /// <summary>
1089 /// list of files in use that need to be replaced
1090 /// </summary>
1091 FilesInUse = 0x05000000,
1092
1093 /// <summary>
1094 /// request to determine a valid source location
1095 /// </summary>
1096 ResolveSource = 0x06000000,
1097
1098 /// <summary>
1099 /// insufficient disk space message
1100 /// </summary>
1101 OutOfDiskSpace = 0x07000000,
1102
1103 /// <summary>
1104 /// start of action: action name &amp; description
1105 /// </summary>
1106 ActionStart = 0x08000000,
1107
1108 /// <summary>
1109 /// formatted data associated with individual action item
1110 /// </summary>
1111 ActionData = 0x09000000,
1112
1113 /// <summary>
1114 /// progress gauge info: units so far, total
1115 /// </summary>
1116 Progress = 0x0a000000,
1117
1118 /// <summary>
1119 /// product info for dialog: language Id, dialog caption
1120 /// </summary>
1121 CommonData = 0x0b000000,
1122
1123 /// <summary>
1124 /// sent prior to UI initialization, no string data
1125 /// </summary>
1126 Initialize = 0x0c000000,
1127
1128 /// <summary>
1129 /// sent after UI termination, no string data
1130 /// </summary>
1131 Terminate = 0x0d000000,
1132
1133 /// <summary>
1134 /// sent prior to display or authored dialog or wizard
1135 /// </summary>
1136 ShowDialog = 0x0e000000,
1137
1138 /// <summary>
1139 /// log only, to log performance number like action time
1140 /// </summary>
1141 Performance = 0x0f000000,
1142
1143 /// <summary>
1144 /// the list of apps that the user can request Restart Manager to shut down and restart
1145 /// </summary>
1146 RMFilesInUse = 0x19000000,
1147
1148 /// <summary>
1149 /// sent prior to server-side install of a product
1150 /// </summary>
1151 InstallStart = 0x1a000000,
1152
1153 /// <summary>
1154 /// sent after server-side install
1155 /// </summary>
1156 InstallEnd = 0x1B000000,
1157 }
1158
1159 /// <summary>
1160 /// The action to perform when a reboot is necessary.
1161 /// </summary>
1162 public enum Restart
1163 {
1164 /// <summary>
1165 /// Invalid value.
1166 /// </summary>
1167 Unknown,
1168
1169 /// <summary>
1170 /// The bundle should never initiate a restart.
1171 /// </summary>
1172 Never,
1173
1174 /// <summary>
1175 /// The bundle should prompt the user whether to restart.
1176 /// </summary>
1177 Prompt,
1178
1179 /// <summary>
1180 /// The bundle should restart if necessary.
1181 /// </summary>
1182 Automatic,
1183
1184 /// <summary>
1185 /// The bundle should always restart when given the option.
1186 /// </summary>
1187 Always,
1188 }
1189
1190 /// <summary>
1191 /// The display name to use when registering in Add/Remove Programs.
1192 /// </summary>
1193 public enum RegistrationType
1194 {
1195 /// <summary>
1196 /// No registration.
1197 /// The engine will ignore None if it recommended InProgress or Full.
1198 /// </summary>
1199 None,
1200
1201 /// <summary>
1202 /// The in-progress display name.
1203 /// </summary>
1204 InProgress,
1205
1206 /// <summary>
1207 /// The default display name.
1208 /// </summary>
1209 Full,
1210 }
1211
1212 /// <summary>
1213 /// Result codes (based on Dialog Box Command IDs from WinUser.h).
1214 /// </summary>
1215 public enum Result
1216 {
1217 /// <summary>
1218 /// An error occurred.
1219 /// </summary>
1220 Error = -1,
1221
1222 /// <summary>
1223 /// Invalid value.
1224 /// </summary>
1225 None,
1226
1227 /// <summary>
1228 /// IDOK
1229 /// </summary>
1230 Ok,
1231
1232 /// <summary>
1233 /// IDCANCEL
1234 /// </summary>
1235 Cancel,
1236
1237 /// <summary>
1238 /// IDABORT
1239 /// </summary>
1240 Abort,
1241
1242 /// <summary>
1243 /// IDRETRY
1244 /// </summary>
1245 Retry,
1246
1247 /// <summary>
1248 /// IDIGNORE
1249 /// </summary>
1250 Ignore,
1251
1252 /// <summary>
1253 /// IDYES
1254 /// </summary>
1255 Yes,
1256
1257 /// <summary>
1258 /// IDNO
1259 /// </summary>
1260 No,
1261
1262 /// <summary>
1263 /// IDCLOSE
1264 /// </summary>
1265 Close,
1266
1267 /// <summary>
1268 /// IDHELP
1269 /// </summary>
1270 Help,
1271
1272 /// <summary>
1273 /// IDTRYAGAIN
1274 /// </summary>
1275 TryAgain,
1276
1277 /// <summary>
1278 /// IDCONTINUE
1279 /// </summary>
1280 Continue,
1281 }
1282
1283 /// <summary>
1284 /// Describes why a bundle or packaged is being resumed.
1285 /// </summary>
1286 public enum ResumeType
1287 {
1288 /// <summary>
1289 /// No resume information.
1290 /// </summary>
1291 None,
1292
1293 /// <summary>
1294 /// Resume information exists but is invalid.
1295 /// </summary>
1296 Invalid,
1297
1298 /// <summary>
1299 /// The bundle was re-launched after an unexpected interruption.
1300 /// </summary>
1301 Interrupted,
1302
1303 /// <summary>
1304 /// The bundle was re-launched after a reboot.
1305 /// </summary>
1306 Reboot,
1307
1308 /// <summary>
1309 /// The bundle was re-launched after being suspended.
1310 /// </summary>
1311 Suspend,
1312
1313 /// <summary>
1314 /// The bundle was launched from Add/Remove Programs.
1315 /// </summary>
1316 Arp,
1317 }
1318
1319 /// <summary>
1320 /// Indicates what caused the error.
1321 /// </summary>
1322 public enum ErrorType
1323 {
1324 /// <summary>
1325 /// The error occurred trying to elevate.
1326 /// </summary>
1327 Elevate,
1328
1329 /// <summary>
1330 /// The error came from the Windows Installer.
1331 /// </summary>
1332 WindowsInstaller,
1333
1334 /// <summary>
1335 /// The error came from an EXE Package.
1336 /// </summary>
1337 ExePackage,
1338
1339 /// <summary>
1340 /// The error came while trying to authenticate with an HTTP server.
1341 /// </summary>
1342 HttpServerAuthentication,
1343
1344 /// <summary>
1345 /// The error came while trying to authenticate with an HTTP proxy.
1346 /// </summary>
1347 HttpProxyAuthentication,
1348
1349 /// <summary>
1350 /// The error occurred during apply.
1351 /// </summary>
1352 Apply,
1353 };
1354
1355 /// <summary>
1356 /// Indicates the source of the FilesInUse message.
1357 /// </summary>
1358 public enum FilesInUseType
1359 {
1360 /// <summary>
1361 /// Generated from INSTALLMESSAGE_FILESINUSE.
1362 /// </summary>
1363 Msi,
1364 /// <summary>
1365 /// Generated from INSTALLMESSAGE_RMFILESINUSE.
1366 /// </summary>
1367 MsiRm,
1368 /// <summary>
1369 /// Generated from MMIO_CLOSE_APPS.
1370 /// </summary>
1371 Netfx,
1372 }
1373
1374 /// <summary>
1375 /// The calculated operation for the related MSI package.
1376 /// </summary>
1377 public enum RelatedOperation
1378 {
1379 /// <summary>
1380 /// No relation.
1381 /// </summary>
1382 None,
1383
1384 /// <summary>
1385 /// The related bundle or package will be downgraded.
1386 /// </summary>
1387 Downgrade,
1388
1389 /// <summary>
1390 /// The related package will be upgraded as a minor revision.
1391 /// </summary>
1392 MinorUpdate,
1393
1394 /// <summary>
1395 /// The related bundle or package will be upgraded as a major revision.
1396 /// </summary>
1397 MajorUpgrade,
1398
1399 /// <summary>
1400 /// The related bundle will be removed.
1401 /// </summary>
1402 Remove,
1403
1404 /// <summary>
1405 /// The related bundle will be installed.
1406 /// </summary>
1407 Install,
1408
1409 /// <summary>
1410 /// The related bundle will be repaired.
1411 /// </summary>
1412 Repair,
1413 };
1414
1415 /// <summary>
1416 /// The cache operation used to acquire a container or payload.
1417 /// </summary>
1418 public enum CacheOperation
1419 {
1420 /// <summary>
1421 /// There is no source available.
1422 /// </summary>
1423 None,
1424
1425 /// <summary>
1426 /// Copy the payload or container from the chosen local source.
1427 /// </summary>
1428 Copy,
1429
1430 /// <summary>
1431 /// Download the payload or container using the download URL.
1432 /// </summary>
1433 Download,
1434
1435 /// <summary>
1436 /// Extract the payload from the container.
1437 /// </summary>
1438 Extract,
1439 }
1440
1441 /// <summary>
1442 /// The source to be used to acquire a container or payload.
1443 /// </summary>
1444 public enum CacheResolveOperation
1445 {
1446 /// <summary>
1447 /// There is no source available.
1448 /// </summary>
1449 None,
1450
1451 /// <summary>
1452 /// Copy the payload or container from the chosen local source.
1453 /// </summary>
1454 Local,
1455
1456 /// <summary>
1457 /// Download the payload or container from the download URL.
1458 /// </summary>
1459 Download,
1460
1461 /// <summary>
1462 /// Extract the payload from the container.
1463 /// </summary>
1464 Container,
1465
1466 /// <summary>
1467 /// Look again for the payload or container locally.
1468 /// </summary>
1469 Retry,
1470 }
1471
1472 /// <summary>
1473 /// The current step when verifying a container or payload.
1474 /// </summary>
1475 public enum CacheVerifyStep
1476 {
1477 /// <summary>
1478 /// Copying or moving the file from the working path to the unverified path.
1479 /// Not used during Layout.
1480 /// </summary>
1481 Stage,
1482 /// <summary>
1483 /// Hashing the file.
1484 /// </summary>
1485 Hash,
1486 /// <summary>
1487 /// Copying or moving the file to the final location.
1488 /// </summary>
1489 Finalize,
1490 }
1491
1492 /// <summary>
1493 /// The restart state after a package or all packages were applied.
1494 /// </summary>
1495 public enum ApplyRestart
1496 {
1497 /// <summary>
1498 /// Package or chain does not require a restart.
1499 /// </summary>
1500 None,
1501
1502 /// <summary>
1503 /// Package or chain requires a restart but it has not been initiated yet.
1504 /// </summary>
1505 RestartRequired,
1506
1507 /// <summary>
1508 /// Package or chain has already initiated the restart.
1509 /// </summary>
1510 RestartInitiated
1511 }
1512
1513 /// <summary>
1514 /// The relation type for related bundles.
1515 /// </summary>
1516 public enum RelationType
1517 {
1518 /// <summary>
1519 /// No relation.
1520 /// </summary>
1521 None,
1522
1523 /// <summary>
1524 /// The related bundle is detected by the running bundle.
1525 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1526 /// </summary>
1527 Detect,
1528
1529 /// <summary>
1530 /// The related bundle shares an upgrade code with the running bundle.
1531 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1532 /// </summary>
1533 Upgrade,
1534
1535 /// <summary>
1536 /// The related bundle is an add-on for the running bundle.
1537 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1538 /// </summary>
1539 Addon,
1540
1541 /// <summary>
1542 /// The related bundle is a patch for the running bundle.
1543 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1544 /// </summary>
1545 Patch,
1546
1547 /// <summary>
1548 /// The running bundle is an add-on for the related bundle.
1549 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1550 /// </summary>
1551 DependentAddon,
1552
1553 /// <summary>
1554 /// The running bundle is a patch for the related bundle.
1555 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1556 /// </summary>
1557 DependentPatch,
1558
1559 /// <summary>
1560 /// The related bundle is a newer version of the running bundle.
1561 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1562 /// </summary>
1563 Update,
1564
1565 /// <summary>
1566 /// The related bundle is in the running bundle's chain.
1567 /// This relationship is reversed for <see cref="IBootstrapperCommand.Relation" />
1568 /// </summary>
1569 ChainPackage,
1570 }
1571
1572 /// <summary>
1573 /// The planned relation type for related bundles.
1574 /// </summary>
1575 public enum RelatedBundlePlanType
1576 {
1577 /// <summary>
1578 /// Don't execute the related bundle.
1579 /// </summary>
1580 None,
1581
1582 /// <summary>
1583 /// The running bundle is a downgrade for the related bundle.
1584 /// </summary>
1585 Downgrade,
1586
1587 /// <summary>
1588 /// The running bundle is an upgrade for the related bundle.
1589 /// </summary>
1590 Upgrade,
1591
1592 /// <summary>
1593 /// The related bundle is an add-on of the running bundle.
1594 /// </summary>
1595 Addon,
1596
1597 /// <summary>
1598 /// The related bundle is a patch for the running bundle.
1599 /// </summary>
1600 Patch,
1601
1602 /// <summary>
1603 /// The running bundle is an add-on for the related bundle.
1604 /// </summary>
1605 DependentAddon,
1606
1607 /// <summary>
1608 /// The running bundle is a patch for the related bundle.
1609 /// </summary>
1610 DependentPatch,
1611 }
1612
1613 /// <summary>
1614 /// One or more reasons why the application is requested to be closed or is being closed.
1615 /// </summary>
1616 [Flags]
1617 public enum EndSessionReasons
1618 {
1619 /// <summary>
1620 /// The system is shutting down or restarting (it is not possible to determine which event is occurring).
1621 /// </summary>
1622 Unknown,
1623
1624 /// <summary>
1625 /// The application is using a file that must be replaced, the system is being serviced, or system resources are exhausted.
1626 /// </summary>
1627 CloseApplication,
1628
1629 /// <summary>
1630 /// The application is forced to shut down.
1631 /// </summary>
1632 Critical = 0x40000000,
1633
1634 /// <summary>
1635 /// The user is logging off.
1636 /// </summary>
1637 Logoff = unchecked((int)0x80000000)
1638 }
1639
1640 /// <summary>
1641 /// The available actions for <see cref="IDefaultBootstrapperApplication.ApplyComplete"/>.
1642 /// </summary>
1643 public enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION
1644 {
1645 /// <summary>
1646 /// Instructs the engine to not take any special action.
1647 /// </summary>
1648 None,
1649
1650 /// <summary>
1651 /// Instructs the engine to restart.
1652 /// The engine will not launch again after the machine is rebooted.
1653 /// Ignored if reboot was already initiated by <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/>.
1654 /// </summary>
1655 Restart,
1656 }
1657
1658 /// <summary>
1659 /// The cache strategy to be used for the package.
1660 /// </summary>
1661 public enum BOOTSTRAPPER_CACHE_TYPE
1662 {
1663 /// <summary>
1664 /// The package will be cached in order to securely run the package, but will always be cleaned from the cache at the end.
1665 /// </summary>
1666 Remove,
1667
1668 /// <summary>
1669 /// The package will be cached in order to run the package, and then kept in the cache until the package is uninstalled.
1670 /// </summary>
1671 Keep,
1672
1673 /// <summary>
1674 /// The package will always be cached and stay in the cache, unless the package and bundle are both being uninstalled.
1675 /// </summary>
1676 Force,
1677 }
1678
1679 /// <summary>
1680 /// The available actions for <see cref="IDefaultBootstrapperApplication.CacheAcquireComplete"/>.
1681 /// </summary>
1682 public enum BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION
1683 {
1684 /// <summary>
1685 /// Instructs the engine to not take any special action.
1686 /// </summary>
1687 None,
1688
1689 /// <summary>
1690 /// Instructs the engine to try the acquisition of the payload again.
1691 /// Ignored if hrStatus is a success.
1692 /// </summary>
1693 Retry,
1694 }
1695
1696 /// <summary>
1697 /// The available actions for <see cref="IDefaultBootstrapperApplication.CachePackageComplete"/>.
1698 /// </summary>
1699 public enum BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION
1700 {
1701 /// <summary>
1702 /// Instructs the engine to not take any special action.
1703 /// </summary>
1704 None,
1705
1706 /// <summary>
1707 /// Instructs the engine to ignore non-vital package failures and continue with the caching.
1708 /// Ignored if hrStatus is a success or the package is vital.
1709 /// </summary>
1710 Ignore,
1711
1712 /// <summary>
1713 /// Instructs the engine to try the acquisition and verification of the package again.
1714 /// Ignored if hrStatus is a success.
1715 /// </summary>
1716 Retry,
1717 }
1718
1719 /// <summary>
1720 /// The available actions for <see cref="IDefaultBootstrapperApplication.CachePackageNonVitalValidationFailure"/>
1721 /// </summary>
1722 public enum BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION
1723 {
1724 /// <summary>
1725 /// Instructs the engine to not take any special action.
1726 /// </summary>
1727 None,
1728
1729 /// <summary>
1730 /// Instructs the engine to try to acquire the package so execution can use it.
1731 /// Most of the time this is used for installing the package during rollback.
1732 /// </summary>
1733 Acquire,
1734 }
1735
1736 /// <summary>
1737 /// The available actions for <see cref="IDefaultBootstrapperApplication.CacheVerifyComplete"/>.
1738 /// </summary>
1739 public enum BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION
1740 {
1741 /// <summary>
1742 /// Instructs the engine to not take any special action.
1743 /// </summary>
1744 None,
1745
1746 /// <summary>
1747 /// Ignored if hrStatus is a success.
1748 /// </summary>
1749 RetryVerification,
1750
1751 /// <summary>
1752 /// Ignored if hrStatus is a success.
1753 /// </summary>
1754 RetryAcquisition,
1755 }
1756
1757 /// <summary>
1758 /// The available actions for <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/>.
1759 /// </summary>
1760 public enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION
1761 {
1762 /// <summary>
1763 /// Instructs the engine to not take any special action.
1764 /// </summary>
1765 None,
1766
1767 /// <summary>
1768 /// Instructs the engine to ignore non-vital package failures and continue with the install.
1769 /// Ignored if hrStatus is a success or the package is vital.
1770 /// </summary>
1771 Ignore,
1772
1773 /// <summary>
1774 /// Instructs the engine to try the execution of the package again.
1775 /// Ignored if hrStatus is a success.
1776 /// </summary>
1777 Retry,
1778
1779 /// <summary>
1780 /// Instructs the engine to stop processing the chain and restart.
1781 /// The engine will launch again after the machine is restarted.
1782 /// </summary>
1783 Restart,
1784
1785 /// <summary>
1786 /// Instructs the engine to stop processing the chain and suspend the current state.
1787 /// </summary>
1788 Suspend,
1789 }
1790
1791 /// <summary>
1792 /// The available actions for <see cref="IDefaultBootstrapperApplication.CommitMsiTransactionComplete"/> and <see cref="IDefaultBootstrapperApplication.RollbackMsiTransactionComplete"/>.
1793 /// </summary>
1794 public enum BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION
1795 {
1796 /// <summary>
1797 /// Instructs the engine to not take any special action.
1798 /// </summary>
1799 None,
1800
1801 /// <summary>
1802 /// Instructs the engine to stop processing the chain and restart.
1803 /// The engine will launch again after the machine is restarted.
1804 /// </summary>
1805 Restart,
1806 };
1807
1808 /// <summary>
1809 /// The available actions for <see cref="IDefaultBootstrapperApplication.ExecuteProcessCancel"/>.
1810 /// </summary>
1811 public enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION
1812 {
1813 /// <summary>
1814 /// Instructs the engine to stop waiting for the process to exit.
1815 /// The package is immediately considered to have failed with ERROR_INSTALL_USEREXIT.
1816 /// The engine will never rollback the package.
1817 /// </summary>
1818 Abandon,
1819
1820 /// <summary>
1821 /// Instructs the engine to wait for the process to exit.
1822 /// Once the process has exited, the package is considered to have failed with ERROR_INSTALL_USEREXIT.
1823 /// This allows the engine to rollback the package if necessary.
1824 /// </summary>
1825 Wait,
1826 }
1827
1828 /// <summary>
1829 /// The result of evaluating a condition from a package.
1830 /// </summary>
1831 public enum BOOTSTRAPPER_PACKAGE_CONDITION_RESULT
1832 {
1833 /// <summary>
1834 /// No condition was authored.
1835 /// </summary>
1836 Default,
1837
1838 /// <summary>
1839 /// Evaluated to false.
1840 /// </summary>
1841 False,
1842
1843 /// <summary>
1844 /// Evaluated to true.
1845 /// </summary>
1846 True,
1847 }
1848
1849 /// <summary>
1850 /// The available actions for <see cref="IDefaultBootstrapperApplication.CacheAcquireResolving"/>.
1851 /// </summary>
1852 public enum BOOTSTRAPPER_RESOLVESOURCE_ACTION
1853 {
1854 /// <summary>
1855 /// Instructs the engine that the source can't be found.
1856 /// </summary>
1857 None,
1858
1859 /// <summary>
1860 /// Instructs the engine to try the local source again.
1861 /// </summary>
1862 Retry,
1863
1864 /// <summary>
1865 /// Instructs the engine to try the download source.
1866 /// </summary>
1867 Download,
1868 }
1869
1870 /// <summary>
1871 /// The available actions for <see cref="IDefaultBootstrapperApplication.Shutdown"/>.
1872 /// </summary>
1873 public enum BOOTSTRAPPER_SHUTDOWN_ACTION
1874 {
1875 /// <summary>
1876 /// Instructs the engine to not take any special action.
1877 /// </summary>
1878 None,
1879
1880 /// <summary>
1881 /// Instructs the engine to restart.
1882 /// The engine will not launch again after the machine is rebooted.
1883 /// Ignored if reboot was already initiated by <see cref="IDefaultBootstrapperApplication.ExecutePackageComplete"/>.
1884 /// </summary>
1885 Restart,
1886
1887 /// <summary>
1888 /// Instructs the engine to unload the bootstrapper application and
1889 /// restart the engine which will load the bootstrapper application again.
1890 /// Typically used to switch from a native bootstrapper application to a managed one.
1891 /// </summary>
1892 ReloadBootstrapper,
1893
1894 /// <summary>
1895 /// Opts out of the engine behavior of trying to uninstall itself when no non-permanent packages are installed.
1896 /// </summary>
1897 SkipCleanup,
1898 }
1899
1900 /// <summary>
1901 /// The file versioning options for REINSTALLMODE, see https://docs.microsoft.com/en-us/windows/win32/msi/reinstallmode.
1902 /// </summary>
1903 public enum BOOTSTRAPPER_MSI_FILE_VERSIONING
1904 {
1905 /// <summary>
1906 /// o
1907 /// </summary>
1908 Older,
1909 /// <summary>
1910 /// e
1911 /// </summary>
1912 Equal,
1913 /// <summary>
1914 /// a
1915 /// </summary>
1916 All,
1917 }
1918
1919 /// <summary>
1920 /// The property Burn will add so the MSI can know the planned action for the package.
1921 /// </summary>
1922 public enum BURN_MSI_PROPERTY
1923 {
1924 /// <summary>
1925 /// No property will be added.
1926 /// </summary>
1927 None,
1928
1929 /// <summary>
1930 /// Add BURNMSIINSTALL=1
1931 /// </summary>
1932 Install,
1933
1934 /// <summary>
1935 /// Add BURNMSIMODFIY=1
1936 /// </summary>
1937 Modify,
1938
1939 /// <summary>
1940 /// Add BURNMSIREPAIR=1
1941 /// </summary>
1942 Repair,
1943
1944 /// <summary>
1945 /// Add BURNMSIUNINSTALL=1
1946 /// </summary>
1947 Uninstall,
1948 }
1949
1950 /// <summary>
1951 /// From msi.h
1952 /// https://docs.microsoft.com/en-us/windows/win32/api/msi/nf-msi-msisetinternalui
1953 /// </summary>
1954 [Flags]
1955 public enum INSTALLUILEVEL
1956 {
1957 /// <summary>
1958 /// UI level is unchanged
1959 /// </summary>
1960 NoChange = 0,
1961
1962 /// <summary>
1963 /// default UI is used
1964 /// </summary>
1965 Default = 1,
1966
1967 /// <summary>
1968 /// completely silent installation
1969 /// </summary>
1970 None = 2,
1971
1972 /// <summary>
1973 /// simple progress and error handling
1974 /// </summary>
1975 Basic = 3,
1976
1977 /// <summary>
1978 /// authored UI, wizard dialogs suppressed
1979 /// </summary>
1980 Reduced = 4,
1981
1982 /// <summary>
1983 /// authored UI with wizards, progress, errors
1984 /// </summary>
1985 Full = 5,
1986
1987 /// <summary>
1988 /// display success/failure dialog at end of install
1989 /// </summary>
1990 EndDialog = 0x80,
1991
1992 /// <summary>
1993 /// display only progress dialog
1994 /// </summary>
1995 ProgressOnly = 0x40,
1996
1997 /// <summary>
1998 /// do not display the cancel button in basic UI
1999 /// </summary>
2000 HideCancel = 0x20,
2001
2002 /// <summary>
2003 /// force display of source resolution even if quiet
2004 /// </summary>
2005 SourceResOnly = 0x100,
2006
2007 /// <summary>
2008 /// show UAC prompt even if quiet
2009 /// Can only be used if on Windows Installer 5.0 or later
2010 /// </summary>
2011 UacOnly = 0x200,
2012 }
2013}