Joomla! uses installer adapters to allow it to install different extension types with ease. This means that pluggable installation systems are possible. You can write an installer adapter and include it into your own project or provide an installer adapter in the central location to enable it to be utilised by the normal installer.
Installer Adapters have four primary tasks:
Discover is a special operation that is designed to 'look' for new extensions to install. For example, a user might copy a component to the relevant folders but not have run the installer so the component won't appear in the installed extensions list. The 'Discover' function would find this extension and provide the user the ability to install it from its location. A discover install is used on discovered extensions to add the relevant details to the database and run database scripts.
Install, Update, Discover Install and Refresh Manifest Cache operations should all refer to the parent JInstaller for details, such as the manifest (install/update) or the extension (discover install, refresh manifest cache).