the present invention includes a system and a method for updating components in a client computer . the invention includes a method for upgrading software for various users , each of the users having diverse hardware and software configurations . the invention includes a method for automatically determining the hardware and software configuration of the client computer without user intervention . to begin the upgrade , the client computer reads a configuration file that identifies the components for downloading . upon receipt of the configuration file , the client computer determines the hardware and software configuration of the client computer . the client computer automatically communicates with a component server via a network and requests one or more components for downloading to the client computer based upon the configuration file and the hardware and software conditions of the client computer .