Patent ID: 7546594

Claim:
A method for managing the updating of files on a client computing device, the method comprising: (a) synchronizing available updates with an update service, including traversing a software update hierarchy to identify specific software updates that apply to the client computing device, the software update hierarchy including at least a base set of one or more base updates and a second set of one or more second tier updates, wherein (i) each base update includes one or more applicability conditions to be tested at the client computing device to determine if the base update is applicable to the client computing device; and (ii) each second tier update includes: (a) one or more applicability conditions to be tested at the client computing device to determine if the second tier update is applicable to the client computing device, (b) prerequisites identifying one or more base updates that are required for proper installation of the second tier update, and (c) an indicator of whether or not the second tier update is a leaf update; (b) receiving a selection of one or more software updates from among the identified specific software updates that apply to the client computing device; (c) obtaining a self extracting file including the selected software updates and installation information identifying a baseline installation component stored on the client computing device, the baseline installation component required to install the software updates on the client computing device; (d) selecting the required baseline installation component stored on the client computing device; (e) determining whether the required baseline installation component stored on the client computing device is needed to be updated; (f) determining if the self-extracting file contains a new baseline installation component and an installation component delta patch to update the required baseline installation component stored on the client computing device; (g) if the new baseline installation component is not included in the self-extracting file, obtaining the installation component delta patch to update the required baseline installation component stored on the client computing device, merging the installation component delta patch with the required baseline installation component to create a merged installation component; and (h) installing the selected software updates on the client computing device utilizing the merged baseline installation component by: (i) conducting an inventory of files installed on the client computer; (ii) identifying all applicable delta patches required to update the installed files; (iii) obtaining the identified delta patches; and (iv) merging the identified delta patches with the corresponding installed files.