// 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;
}
}