A software package manager uses a distribution unit containing components
for a software package and a manifest file that describes the
distribution unit to manage the installation, execution, and
uninstallation of software packages on a computer. Information in the
manifest file pertaining to a software package is stored in a code store
data structure upon installation of the package. The manifest file also
contains information that permits the software package manager to resolve
any software dependencies upon installation. The software package manager
uses the code store data structure to locate the required components when
the software is executed and to remove the components appropriately when
the software is uninstalled.