1. A method for installing software over a network comprising: generating, by a requesting agent in a client, a request for a software update to be installed on the client, the request being digitally encoded by a first trusted hardware element in the client to provide a secure encoded request, the requesting agent being external to the first trusted hardware element in the client, the request for a software update being a request for an update to software on the client other than in the trusted hardware element; transmitting, by the client, the secure encoded request over the network to a server; receiving, by the server, the secure encoded request; generating, by a servicing agent in the server in response to the request for a software update encoded in the secure encoded request, a response that is digitally coded by a second trusted hardware element in the server to provide a secure encoded response, the secure encoded response including a list of software and an associated information file containing security attributes associated with the list of software, the servicing agent being external to the second trusted hardware element in the server; transmitting, by the server, the secure encoded response over the network to the client; receiving, by the client, the secure encoded response; authenticating, by the first trusted hardware element in the client, the secure encoded response; installing, by the client, the secure encoded response on the client other than in the trusted hardware element; and configuring the requesting agent on the client to monitor for a software upgrade required to be installed on the client and to generate the secure encoded request for the software upgrade at the client.