// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. namespace WixToolset.Mba.Core { using System; /// /// Interface for built-in implementation of . /// public interface IDefaultBootstrapperApplication : IBootstrapperApplication { /// /// Fired when the engine has begun installing the bundle. /// event EventHandler ApplyBegin; /// /// Fired when the engine has completed installing the bundle. /// event EventHandler ApplyComplete; /// /// Fired when the engine is about to begin an MSI transaction. /// event EventHandler BeginMsiTransactionBegin; /// /// Fired when the engine has completed beginning an MSI transaction. /// event EventHandler BeginMsiTransactionComplete; /// /// Fired when the engine has begun acquiring the payload or container. /// The BA can change the source using /// or . /// event EventHandler CacheAcquireBegin; /// /// Fired when the engine has completed the acquisition of the payload or container. /// The BA can change the source using /// or . /// event EventHandler CacheAcquireComplete; /// /// Fired when the engine has progress acquiring the payload or container. /// event EventHandler CacheAcquireProgress; /// /// Fired by the engine to allow the BA to override the acquisition action. /// event EventHandler CacheAcquireResolving; /// /// Fired when the engine has begun caching the installation sources. /// event EventHandler CacheBegin; /// /// Fired after the engine has cached the installation sources. /// event EventHandler CacheComplete; /// /// Fired when the engine begins the verification of the payload or container that was already in the package cache. /// event EventHandler CacheContainerOrPayloadVerifyBegin; /// /// Fired when the engine has completed the verification of the payload or container that was already in the package cache. /// event EventHandler CacheContainerOrPayloadVerifyComplete; /// /// Fired when the engine has progress verifying the payload or container that was already in the package cache. /// event EventHandler CacheContainerOrPayloadVerifyProgress; /// /// Fired when the engine has begun caching a specific package. /// event EventHandler CachePackageBegin; /// /// Fired when the engine has completed caching a specific package. /// event EventHandler CachePackageComplete; /// /// Fired when the engine begins the extraction of the payload from the container. /// event EventHandler CachePayloadExtractBegin; /// /// Fired when the engine has completed the extraction of the payload from the container. /// event EventHandler CachePayloadExtractComplete; /// /// Fired when the engine has progress extracting the payload from the container. /// event EventHandler CachePayloadExtractProgress; /// /// Fired when the engine begins the verification of the acquired payload or container. /// event EventHandler CacheVerifyBegin; /// /// Fired when the engine has completed the verification of the acquired payload or container. /// event EventHandler CacheVerifyComplete; /// /// Fired when the engine has progress verifying the payload or container. /// event EventHandler CacheVerifyProgress; /// /// Fired when the engine is about to commit an MSI transaction. /// event EventHandler CommitMsiTransactionBegin; /// /// Fired when the engine has completed comitting an MSI transaction. /// event EventHandler CommitMsiTransactionComplete; /// /// Fired when the overall detection phase has begun. /// event EventHandler DetectBegin; /// /// Fired when a package was not detected but a package using the same provider key was. /// event EventHandler DetectCompatibleMsiPackage; /// /// Fired when the detection phase has completed. /// event EventHandler DetectComplete; /// /// Fired when a forward compatible bundle is detected. /// event EventHandler DetectForwardCompatibleBundle; /// /// Fired when a feature in an MSI package has been detected. /// event EventHandler DetectMsiFeature; /// /// Fired when the detection for a specific package has begun. /// event EventHandler DetectPackageBegin; /// /// Fired when the detection for a specific package has completed. /// event EventHandler DetectPackageComplete; /// /// Fired when the engine detects a target product for an MSP package. /// event EventHandler DetectPatchTarget; /// /// Fired when a related bundle has been detected for a bundle. /// event EventHandler DetectRelatedBundle; /// /// Fired when a related MSI package has been detected for a package. /// event EventHandler DetectRelatedMsiPackage; /// /// Fired when the update detection has found a potential update candidate. /// event EventHandler DetectUpdate; /// /// Fired when the update detection phase has begun. /// event EventHandler DetectUpdateBegin; /// /// Fired when the update detection phase has completed. /// event EventHandler DetectUpdateComplete; /// /// Fired when the engine is about to start the elevated process. /// event EventHandler ElevateBegin; /// /// Fired when the engine has completed starting the elevated process. /// event EventHandler ElevateComplete; /// /// Fired when the engine has encountered an error. /// event EventHandler Error; /// /// Fired when the engine has begun installing packages. /// event EventHandler ExecuteBegin; /// /// Fired when the engine has completed installing packages. /// event EventHandler ExecuteComplete; /// /// Fired when a package sends a files in use installation message. /// event EventHandler ExecuteFilesInUse; /// /// Fired when Windows Installer sends an installation message. /// event EventHandler ExecuteMsiMessage; /// /// Fired when the engine has begun installing a specific package. /// event EventHandler ExecutePackageBegin; /// /// Fired when the engine has completed installing a specific package. /// event EventHandler ExecutePackageComplete; /// /// Fired when the engine executes one or more patches targeting a product. /// event EventHandler ExecutePatchTarget; /// /// Fired by the engine while executing a package. /// event EventHandler ExecuteProgress; /// /// Fired when the engine is about to launch the preapproved executable. /// event EventHandler LaunchApprovedExeBegin; /// /// Fired when the engine has completed launching the preapproved executable. /// event EventHandler LaunchApprovedExeComplete; /// /// Fired when the engine is about to pause Windows automatic updates. /// event EventHandler PauseAutomaticUpdatesBegin; /// /// Fired when the engine has completed pausing Windows automatic updates. /// event EventHandler PauseAutomaticUpdatesComplete; /// /// Fired when the engine has begun planning the installation. /// event EventHandler PlanBegin; /// /// Fired when the engine plans a new, compatible package using the same provider key. /// event EventHandler PlanCompatibleMsiPackageBegin; /// /// Fired when the engine has completed planning the installation of a specific package. /// event EventHandler PlanCompatibleMsiPackageComplete; /// /// Fired when the engine has completed planning the installation. /// event EventHandler PlanComplete; /// /// Fired when the engine is about to plan a forward compatible bundle. /// event EventHandler PlanForwardCompatibleBundle; /// /// Fired when the engine has completed planning a compatible package. /// event EventHandler PlannedCompatiblePackage; /// /// Fired when the engine has completed planning a package. /// event EventHandler PlannedPackage; /// /// Fired when the engine is about to plan a feature in an MSI package. /// event EventHandler PlanMsiFeature; /// /// Fired when the engine is planning an MSI or MSP package. /// event EventHandler PlanMsiPackage; /// /// Fired when the engine has begun getting the BA's input for planning a package. /// event EventHandler PlanPackageBegin; /// /// Fired when the engine has completed getting the BA's input for planning a package. /// event EventHandler PlanPackageComplete; /// /// Fired when the engine is about to plan a target of an MSP package. /// event EventHandler PlanPatchTarget; /// /// Fired when the engine has begun planning for a related bundle. /// event EventHandler PlanRelatedBundle; /// /// Fired when the engine has begun planning an upgrade related bundle for restoring in case of failure. /// event EventHandler PlanRestoreRelatedBundle; /// /// Fired when the engine is planning a rollback boundary. /// event EventHandler PlanRollbackBoundary; /// /// Fired when the engine has changed progress for the bundle installation. /// event EventHandler Progress; /// /// Fired when the engine has begun registering the location and visibility of the bundle. /// event EventHandler RegisterBegin; /// /// Fired when the engine has completed registering the location and visibility of the bundle. /// event EventHandler RegisterComplete; /// /// Fired when the engine is about to rollback an MSI transaction. /// event EventHandler RollbackMsiTransactionBegin; /// /// Fired when the engine has completed rolling back an MSI transaction. /// event EventHandler RollbackMsiTransactionComplete; /// /// Fired when the engine has begun to setup the update package. /// event EventHandler SetUpdateBegin; /// /// Fired when the engine has completed setting up the update package. /// event EventHandler SetUpdateComplete; /// /// Fired when the engine is shutting down the bootstrapper application. /// event EventHandler Shutdown; /// /// Fired when the engine is starting up the bootstrapper application. /// event EventHandler Startup; /// /// Fired when the engine is about to take a system restore point. /// event EventHandler SystemRestorePointBegin; /// /// Fired when the engine has completed taking a system restore point. /// event EventHandler SystemRestorePointComplete; /// /// Fired when the system is shutting down or user is logging off. /// /// /// To prevent shutting down or logging off, set to /// true; otherwise, set it to false. /// By default setup will prevent shutting down or logging off between /// and . /// Derivatives can change this behavior by handling . /// If contains /// the bootstrapper cannot prevent the shutdown and only has a few seconds to save state or perform any other /// critical operations before being closed by the operating system. /// This event may be fired on a different thread. /// event EventHandler SystemShutdown; /// /// Fired when the engine unregisters the bundle. /// event EventHandler UnregisterBegin; /// /// Fired when the engine unregistration is complete. /// event EventHandler UnregisterComplete; } }