Patent ID: 8661432

Claim:
A method comprising: identifying a plurality of applications and multiple components, each of the applications in the plurality being associated with one or more of the multiple components that are required for installation of the respective application, and all of the multiple components being organized according to a design hierarchy; presenting a graphical user interface that includes a display of (i) a business category user interface element with which a user is able to select the first application, (ii) an installation user interface element that the user can select in order to install a selected application, and (iii) a simulation user interface element that the user can select in order to cause a simulation of an installation of a selected application prior to the actual installation of the application; receiving a first user selection of a first application from the plurality of applications; determining one or more first components, of the multiple components, that are required for installation of the first application based on the one or more first components being associated with the first application; determining one or more first prerequisite applications, of the plurality of applications, that are prerequisites for installation of the first application; determining one or more first prerequisite components, of the multiple components, that are required for installation of the one or more first prerequisite applications; receiving a second user selection of the simulation user interface element; simulating, based on the receiving of the second user selection, an installation of the first application in order to test the installation of the first application for errors; determining, based on the simulating, whether the first components and the first prerequisite components will install correctly during an actual installation of the first application; and installing, in response to determining that the first components and the first prerequisite components will install correctly, the first components and the first prerequisite components as part of the installation of the first application.