Recently while working on a project I came across a weird error which prevented me from adding any kind of process to a solution. At the time, the solution I was attempting to add to did not contain many processes, having a single Business Process Flow, a single Workflow, and a couple of Business Rules with conditions using the Business Process Flow stages. In this solution, whenever I attempted to add an existing Process, by either going into the Processes section and clicking ‘Add Existing’ or going to Components and selecting ‘Add Existing’ then going down to the ‘Processes’ option, the error window would pop-up. It would then show a standard error message, two buttons to ‘Try Again’ or ‘Close’ and no option to download an error log.
While testing I was able to determine that this error would appear for two different cases. The first being whenever I used a Business Process Flow which contained branches with an else/if condition. If a Business Process Flow contained this condition, then the error would show whenever I attempted to add an existing process.
I also noticed that this error would not occur if the branches had an if and an else condition, so only if/else would cause it. It is worth noting that the error would only show for solutions that contained Business Process Flows with these if/else branches, so solutions without these Business Process Flows were free to add existing processes.
The second case would occur when a Business Rule, which contained a condition, was being shown as solution Component. In a solution it seems that whenever a new Business Rule is created or an existing Business Rule is edited or saved the Rule would be added as a Component area with Type ‘Process’. The Business Rule being added as a Component would not cause this error, but if the Rule contained a condition, such as “if field contains data”, it would.
After searching for an answer online, I found that Microsoft had released a fix for this particular issue with update 0.1 for Dynamic CRM 2016, stating ‘Adding existing Process to a Dynamics CRM 2016 solution fails with error message.’ in their update notes. Because this update was not available in the CRM system I was using I needed a workaround for this problem. There were a few ways to get around this problem. For the first case I found the simplest way was to remove the Business Process Flow, causing the error from the solution and re-adding it along with any new processes which needed to be added to the solution. This was any Business Process Flow which contained branches with an else/if condition. For the second case I was able to solve this problem by removing any Business Rules, which were being shown as Components from the solution. Doing this does not remove a Business Rule from the solution as they can still be found in the normal places, such as in the Entity -> Business Rules area, but they will no longer be shown in the Components area. For the solution I worked with I needed to apply both fixes to be able to view the existing processes I needed to add to the solution.