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 .NET Framework.



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


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


Contains information about the current installation.


Provides the foundation for custom installations.


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


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


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


Represents a managed install.


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



Provides an interface for a managed installer.



Specifies what an installer should do during an uninstallation.



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


Through the Installers property, an installer contains a collection of other installers as children. As the installer is executed, it cycles through its children and calls Install, Commit, Rollback, or 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 Installutil.exe (Installer Tool).

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.