Вы можете перенести дизайнер WF в свое собственное приложение, чтобы позволить конечным пользователям изменять рабочие процессы. Поскольку вы размещаете дизайнера, вы в значительной степени контролируете, что он может делать. Например, вы можете запретить им удалять или отключать действия и разрешать им добавлять только новые определенные действия в предопределенных областях рабочего процесса. Наилучший подход - сохранить эти рабочие процессы в виде файлов XOML и запустить их как таковые. Это означает, что вы не можете добавить код в сам рабочий процесс, но вы можете определить свой базовый класс рабочего процесса, производный от SequentialWorkflowActivity (или его эквивалента), и использовать его в качестве базового класса рабочего процесса. Это позволяет добавлять код и свойства. Например, вы все еще можете добавить CodeActivity, но вам нужно указать ссылку на код в базовом классе.
Сериализация или дегидратация рабочего процесса используется с запущенными рабочими процессами для сохранения их на диске. Это использует стандартную двоичную сериализацию .NET и может быть сложным из-за длительной работы рабочих процессов. Но ничего страшного, если вы знаете, что искать. См. http://msmvps.com/blogs/theproblemsolver/archive/2008/09/10/versioning-long-running-workfows.aspx о начале серии сообщений в блоге.
Не уверен, если вам это нужно, но есть также возможность изменить уже выполняемые рабочие процессы. Это использует объект WorkflowChanges. Подробнее см. Здесь http://wiki.windowsworkflowfoundation.eu/default.aspx/WF/RuntimeModificationOfWorkflows.html.