1. A method of provisioning software to a set of machines, comprising: receiving a request in a provisioning server for the initiation of at least one software provisioning process on a set of machines having associated virtual storage resources; communicating with a remote virtual machine installation client to detect configuration data for the virtual storage resources; and automatically generating a software distribution for installation to the virtual storage resources of the set of machines based on the detected configuration data for the virtual storage resources.