A method of updating computer software includes downloading software update information
through a network, such as the Internet, to a user's computer. The download is
preferably done periodically and automatically. If available, a criticality check
program identified in the software update information is then automatically downloaded
and executed to determine the configuration of the user's computer. The criticality
and applicability of available software updates are evaluated by the criticality
check program in light of the specific software and/or hardware configuration of
the user's computer. The software updates may then be downloaded and installed
automatically, if previously authorized by the user, by comparing the criticality
of the updates to the user, as determined by the criticality check program, to
stored user preference information specifying a user criticality threshold. Software
updates determined to be more critical than the user criticality threshold are
installed automatically and the user is notified of the availability of less critical updates.