1. A non-transitory computer storage medium storing computer-executable instructions that when executed by a computer with at least one processor cause the computer to: store a plurality of activity instances in a repository where each activity instance includes: one or more parameters for an activity, wherein each parameter is a variable that is changeable when the activity is executed; and two or more blocks of executable code for performing the activity, where each block of executable code is configured for a different target platform to be executable by a corresponding operating system of the target platform; provide a user interface on a display through which a user can create a process instance by selecting one or more activity instances and specify a sequence in which the activity instances are to be performed, wherein the process instance comprises a deployment process comprising an installation activity instance to load pre-requisite software required before installation of a software product, a second installation activity instance that loads components of the software product, and a configuration activity instance to provide values for the one or more parameters; store the process instance in the repository; in response to a request to run the process instance on a first target having a first platform, interpret the process instance by: identifying the activity instances included in the process instance; identifying parameter values for the one or more parameters included in the activity instances; from the identified activity instances, identifying and selecting at least one block of code from the two or more blocks of executable code, wherein the selected at least one block of code is configured for the first target and is executable by a corresponding operating system of the first target; and combining at least the process instance, the identified parameter values and the selected at least one block of executable code from the activity instances to create the target definition in a data structure, wherein any changes that have been made to the executable code for activities will be propagated to the process instance when the process instance is invoked to create the target definition; and providing the target definition to an execution application at the first target to cause the first target to execute the process instance and the at least one block of executable code.