What do you think happens in the following trivial package (The first task is disabled)?
- Everything except for the first task executes.
Let's take a look
Suprised? Well if like us you are coming from a DTS background then it most likely will shock you. In DTS this package would not have got off first base.
The meaning of the On Success Constraint should not be read as such. It should be read as No Errors Occured. If the task does not execute i.e. if it is disabled then the TaskHost posts a result of No Errors Occurred and the workflow continues.
- A disabled task has no place in production it is a development time thing. If a task is in your package, not currently being developed and is disabled then it should be removed.
- Disabling a task can be seen as a "Simulation" feature along with things like setting the ForceExecutionResult property of a task.