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.
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
System.Configuration.Install.Installer.Install,
System.Configuration.Install.Installer.Commit,
System.Configuration.Install.Installer.Rollback, or
System.Configuration.Install.Installer.Uninstall. For an example of an object in the
Installers collection, see
EventLogInstaller.
The
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
Uninstall 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
Install,
Commit,
Rollback, and
Uninstall 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
Uninstall 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
Install,
Commit,
Rollback, and
Uninstall methods.
| | Class | Description |
|---|
 | 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. |
 | 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: BeforeInstall, AfterInstall, Committing, Committed, BeforeRollback, AfterRollback, BeforeUninstall, AfterUninstall. |
 | InstallException | The exception that is thrown when an error occurs during the commit, rollback, or uninstall phase of an installation. |
 | ManagedInstallerClass | |
 | TransactedInstaller | Defines an installer that either succeeds completely or fails and leaves the computer in its initial state. |
| | Delegate | Description |
|---|
 | InstallEventHandler | Represents the method that will handle the BeforeInstall, AfterInstall, Committing, Committed, BeforeRollback, AfterRollback, BeforeUninstall, or AfterUninstall event of an Installer. |
| | Enumeration | Description |
|---|
 | UninstallAction | Specifies what an installer should do during an uninstallation. |