1. In a client-server architecture including at least one client machine in communication with a plurality of servers over a network, a method for provisioning a suitable operating system environment to a client machine in the network, the method comprising: receiving a first software module at the client machine, wherein the first software module is compatible with a processor type of the client machine; scanning the client machine using the first software module to obtain a list of hardware elements on the client machine; transmitting the list of hardware elements on the client machine to the installation server; receiving a suitable Operating System Environment (OSE) at the client machine, wherein the suitable OSE includes an operating system and device drivers for hardware elements in the list of hardware elements on the client machine; and deploying the suitable OSE on the client machine.