Should be exactly 1 MessageProcessingStep registered for workflow

Having duplicate processes (usually business rules) can cause issues during import of a solution containing the same process. One of the error messages is:

Should be exactly 1 MessageProcessingStep registered for workflow

If you face this situation, then it's easiest to identify the duplicate processes by using the advanced find. Search for the processes and remove the default filter. Then add "Category equals Business Rule" and view the results ordered by name. If you see any duplicate, then you can remove the oldest Business Rule(s).

If you've got too many processes to visually identify the duplicates, then you can always export to Excel and use the duplicate features there.

In some cases the duplicates exist due to the holding solution approach. In this case, removing the Business Rules will eventually give you other error messages such as:

- Crm Exception: Message: processtrigger With Id = 3922b595-8637-e511-80d3-b13ac3e6ed07 Does Not Exist, ErrorCode: -2147220969
- 0x80040203 Could not retrieve parent object id for label with id 1f26a158-cf40-e511-80d6-f0b8a7508109 and label type code 19
- Cannot find a top solution for ProcessTrigger:3922b595-8637-e511-80d3-b13ac3e6ed07

If this is the case, then the next post will help:
http://ronaldlemmen.blogspot.nl/2015/10/processtrigger-error-messages-and.html