A customized installation is created by allowing a user to select a
pattern of software. Then software that is installed on another user's
computer is identified. If the identified software belongs to the
selected pattern, then an installation of the software is obtained from a
database and built into a custom built installation. The identification
of the software and selection of a corresponding installation includes
identification of a version of the software. A requested pattern can
describe the category of use of the software, or the pattern can describe
a usage history. After building the customized installation, the
customized installation can be installed on a new machine.