1. A computer-implemented method comprising: a Unix daemon on a system of a client computer initiating a processor of the client computer to perform method calls in multiple computer languages to shared runtime libraries and using a native interface, in order to determine a version information of a software product currently installed on a first virtual machine of the client computer, without reference to a manifest and without modifying metadata of the version information; causing the processor to communicate the version information to a server computer; causing the server computer to check the version information against a list of client-side components; communicating an updated version of the software product to the client computer based upon comparison of the version information against the list; storing the updated version of the software product in a non-transitory computer readable storage medium of the client computer; causing the updated version of the software product to automatically be installed on the first virtual machine of the client computer; and causing the updated version of the software product to automatically be installed on a second virtual machine accessing the shared runtime library without a request being sent to the server, wherein the processor is configured to cache data shared by the first virtual machine and the second virtual machine.