An electronic device comprising an operating system ("OS") and an agent disposed in the electronic device, the electronic device connected via a network to a remote server, wherein: the agent comprises a loader module, an installer module, a partial communications driver module ("PCM") and a full function communications driver module ("FCM"); wherein the loader module: is stored in firmware; loads during power-on self-test of the electronic device; loads the installer module during power-on self-test of the electronic device and before the OS has loaded; and calls the installer module; wherein the installer module: accesses a hard drive in the electronic device to detect the OS; loads the PCM before the OS has loaded; automatically adapts the PCM to the OS by installing the PCM using an installation mechanism that is specific to the OS, before the OS has loaded; and initiates operation of the PCM without user initiation or user intervention; wherein the PCM: registers as an OS service; determines, after start of the OS, whether the FCM is available in the electronic device; and is configured to communicate with the remote server, after start of the OS, to reload the FCM across the network if the FCM has been removed or is missing from the electronic device; and wherein the FCM: is a software agent running under the OS; is configured to communicate with the remote server; when loaded, is responsible for all communications between the electronic device and remote server; and uses input and output operations of the OS to communicate with the remote server, to enable, support and/or provide, with respect to the electronic device or software assets associated therewith, at least one of tracking, recovery, management, data deletion, software deployment and software upgrade. the agent comprises a loader module, an installer module, a partial communications driver module ("PCM") and a full function communications driver module ("FCM"); wherein the loader module: is stored in firmware; loads during power-on self-test of the electronic device; loads the installer module during power-on self-test of the electronic device and before the OS has loaded; and calls the installer module; is stored in firmware; loads during power-on self-test of the electronic device; loads the installer module during power-on self-test of the electronic device and before the OS has loaded; and calls the installer module; wherein the installer module: accesses a hard drive in the electronic device to detect the OS; loads the PCM before the OS has loaded; automatically adapts the PCM to the OS by installing the PCM using an installation mechanism that is specific to the OS, before the OS has loaded; and initiates operation of the PCM without user initiation or user intervention; accesses a hard drive in the electronic device to detect the OS; loads the PCM before the OS has loaded; automatically adapts the PCM to the OS by installing the PCM using an installation mechanism that is specific to the OS, before the OS has loaded; and initiates operation of the PCM without user initiation or user intervention; wherein the PCM: registers as an OS service; determines, after start of the OS, whether the FCM is available in the electronic device; and is configured to communicate with the remote server, after start of the OS, to reload the FCM across the network if the FCM has been removed or is missing from the electronic device; and registers as an OS service; determines, after start of the OS, whether the FCM is available in the electronic device; and is configured to communicate with the remote server, after start of the OS, to reload the FCM across the network if the FCM has been removed or is missing from the electronic device; and wherein the FCM: is a software agent running under the OS; is configured to communicate with the remote server; when loaded, is responsible for all communications between the electronic device and remote server; and uses input and output operations of the OS to communicate with the remote server, to enable, support and/or provide, with respect to the electronic device or software assets associated therewith, at least one of tracking, recovery, management, data deletion, software deployment and software upgrade. is a software agent running under the OS; is configured to communicate with the remote server; when loaded, is responsible for all communications between the electronic device and remote server; and uses input and output operations of the OS to communicate with the remote server, to enable, support and/or provide, with respect to the electronic device or software assets associated therewith, at least one of tracking, recovery, management, data deletion, software deployment and software upgrade.