1. A method for returning a software configuration on a client device to a previous state comprising: receiving, at a service provider, a request for returning a client device software configuration to a previous state; comparing a previous state software manifest comprising a list of a plurality of software files residing on the client device during the previous state with a software installation map to identify software elements within the software installation map associated with the list of the plurality of software files residing on the client device during the previous state, wherein the software installation map comprises a plurality of software elements representing a plurality of software files, a plurality of dependency pointers representing functional dependencies between each of the plurality of software files, and a confidence factor indicating at least a number of a plurality of successful prior installations of the plurality of software files on a plurality of client devices; generating a previous state installation route describing at least a portion of the software elements within the software installation map and associated software files for returning the client device to the previous state; and providing the previous state installation route to the client device.