1. A computer-implemented method comprising: causing a processor of a computer to perform a method call determining a version information of a software product currently installed on the computer; causing the processor to communicate the version information to a server computer; communicating an updated version of the software product to the computer based upon the version information; storing the updated version of the software product in a non-transitory computer readable storage medium of the computer; and causing the updated version of the software product to automatically be installed on the computer.