A system and method update client computers of various end users with
software updates for software products installed on the client computers,
the software products manufacturered by diverse, unrelated software
vendors. The system includes a service provider computer system, a number
of client computers and software vendor computer systems communicating on
a common network. The service provider computer system stores in an update
database information about the software updates of the diverse software
vendors, identifying the software products for which software updates are
available, their location on the network at the various software vendor
computer systems, information for identifying in the client computers the
software products stored thereon, and information for determining for such
products, which have software updates available. Users of the client
computers connect to the service provider computer and obtain a current
version of portions of the database. The client computer determines that
software products stored thereon, and using this information, determines
from the database, which products have updates available, based on product
name and release information for the installed products. The user selects
updates for installation. The selected updates are downloaded from the
software vendor computer systems and installed on the client computer.
Payment for the software update and the service is mediated by the service
provider computer. Authentication of the user ensures only registered
users obtain software updates. Authentication of the software updates
ensures that the software updates are virus free and uncorrupted. Changes
to the client computer during installation are monitored and archived,
allowing the updates to be subsequently removed by the user.