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