Product providers define products (units of branding) which have been installed in
the current system. Typically, a configuration agent (i.e., plug-in installer) will
define a product provider so that it can report to the system the products it has installed.
Products are normally defined and installed in the system using extensions to the
org.eclipse.core.runtime.products extension point. In cases where
the notion of product is defined by alternate means (e.g., primary feature), an IProductProvider
can be installed in this extension point using an executable extension. The provider
then acts as a proxy for the product extensions that represent the products installed.