1. A method for automating software installations accounting for an installation policy, the method comprising: defining a client installation policy for a client device, wherein the client installation policy defines a level of manual interaction suggested for installing software functionalities on the client device; transmitting a software installation request for installing a first software functionality; receiving, at a service provider, a software installation route from a software installation map, the software installation route describes a plurality of software files for installing the first software functionality, and a plurality of dependency pointers representing dependencies between each of the plurality of software files for installing the first software functionality, the software installation route comprising: a confidence factor representing an indication of previous installation success based on the software installation route; a route installation policy defines a level of manual interaction suggested for installing the first software functionality, wherein the route installation policy is a function of the confidence factor associated with the software installation route; and installing the first software functionality at the client device based on a combination of the client installation policy and the route installation policy.