A plugable framework for use in the installation and uninstallation of a
suite of applications. An application installer configured according to
the plugable framework can include installation logic configured to copy
application files to a target computing system. The installation logic
also can configure the target for operation with the application.
Installation diagnostic and cleanup logic can be coupled to the
installation logic. The installation diagnostic logic can detect an
installation failure, while the cleanup logic can remove the copied files
and can reverse the configuration in response to the installation
diagnostic logic detecting an installation failure. Uninstallation logic
can be configured both to remove copied files from the target, and also
to reverse the configuration of the target according to the terms of a
specified uninstallation configuration file. In response to the detection
of an uninstallation failure, cleanup logic can remove the copied files
and can reverse the configuration without regard to the uninstallation
configuration file.