To complete this chapter, I’ve left the best until last. The Workflow Designer that you use to design workflows isn’t tied to Visual Studio - you can rehost this Designer within your own application as necessary.
This means that you could deliver a system containing workflows and permit end users to customise the system without requiring them to have a copy of Visual Studio. Hosting the Designer is however fairly complex, and I could devote several chapters to this one topic, but I’m out of space. There are a number of examples of rehosting available on the Web, and I would suggest you read the MSDN article on hosting the Designer available at http://msdn2.microsoft.com/en-us/library/aa480213.aspx for more information.
The traditional way of allowing users to customise a system is by defining an interface and then allowing the customer to implement this interface to extend processing as required.
With Windows Workflow that extension becomes a whole lot more graphical, as you can present the user with a blank workflow as a template and provide a toolbox that contains custom activities that are appropriate for your application. They can then author their workflows and add in your activities or custom activities they have written themselves.