1. A computer-implemented method comprising: performing a portion of installation of a set of updates to software on a computing system automatically by a background operation without interfering with processes currently running on the computing system, wherein performing the portion of the installation of the set of updates includes building multiple system caches for multiple subsets of the set of updates in a temporary area on a computer-readable storage device in the computing system, each system cache having a hierarchy mirroring the hierarchy of a system cache in use on the computing system; sending a notification of availability of the set of updates after performing the portion of the installation of the set of updates; enabling selection of a subset of the set of updates to install onto the computing system, the subset of the set of updates associated with at least one of the multiple system caches built for the multiple subsets of updates; delaying completing the installation of the set of updates on the computing system until receiving approval of the set of updates; and completing installation of at least a portion of the set of updates after receiving the approval of the set of updates.