System.Configuration.Install Namespace

The System.Configuration.Install namespace provides classes that allow you to write custom installers for your own components. The Installer class is the base class for all custom installers in the.NET Framework.

Remarks

Through the Installer.Installers property, an installer contains a collection of other installers as children. As the installer is executed, it cycles through its children and calls Installer.Install(IDictionary), Installer.Commit(IDictionary), Installer.Rollback(IDictionary), or Installer.Uninstall(IDictionary). For an example of an object in the Installer.Installers collection, see EventLogInstaller.

The Installer.Context property contains information about the installation. For example, information about the location of the log file for the installation, the location of the file that saves information required by the Installer.Uninstall(IDictionary) method, and the command line that was entered when the installation executable was run. For an example of an installation executable, see Installer Tool (Installutil.exe).

The Installer.Install(IDictionary), Installer.Commit(IDictionary), Installer.Rollback(IDictionary), and Installer.Uninstall(IDictionary) methods are not always called on the same instance of Installer. For example, you might use an Installer to install and commit an application, and then release the reference to that Installer. Later, uninstalling the application creates a new reference to an Installer, which means that the Installer.Uninstall(IDictionary) method is called on a different instance of Installer. For this reason, do not save the state of a computer in an installer. Instead, use an IDictionary that is preserved across calls and passed into the Installer.Install(IDictionary), Installer.Commit(IDictionary), Installer.Rollback(IDictionary), and Installer.Uninstall(IDictionary) methods.

Classes

TypeReason
AssemblyInstaller

Loads an assembly, and runs all the installers in it.

ComponentInstaller

Specifies an installer that copies properties from a component to use at install time.

IManagedInstaller

Provides an interface for a managed installer.

InstallContext

Contains information about the current installation.

Installer

Provides the foundation for custom installations.

InstallerCollection

Contains a collection of installers to be run during an installation.

InstallEventArgs

Provides data for the events: Installer.BeforeInstall, Installer.AfterInstall, Installer.Committing, Installer.Committed, Installer.BeforeRollback, Installer.AfterRollback, Installer.BeforeUninstall, Installer.AfterUninstall.

InstallEventHandler

Represents the method that will handle the Installer.BeforeInstall, Installer.AfterInstall, Installer.Committing, Installer.Committed, Installer.BeforeRollback, Installer.AfterRollback, Installer.BeforeUninstall, or Installer.AfterUninstall event of an Installer.

InstallException

The exception that is thrown when an error occurs during the commit, rollback, or uninstall phase of an installation.

ManagedInstallerClass

Represents a managed install.

TransactedInstaller

Defines an installer that either succeeds completely or fails and leaves the computer in its initial state.

UninstallAction

Specifies what an installer should do during an uninstallation.