In my previous posts, I explained in detail two new features of CRM 2016, solution segmentation and solution patching. To view the posts you can refer to the below links.
Solution Segmentation – https://debajmecrm.com/understanding-solution-segmentation-in-detail-in-dynamics-crm-2016-create-a-solution-with-just-what-you-need/
Solution Patching – https://debajmecrm.com/simplify-your-deployment-with-the-new-solution-patching-feature-in-dynamics-crm-2016/
In this article, I will cover in depth another new feature introduced in the CRM 2016 which in Solution Cloning. To understand solution cloning, an idea of solution segmentation and solution patching is absolute necessity. So in case you are new to the concept of solution patching, I would suggest you go through the above posts before continuing with this blog post.
Well, too much of suggestions I guess. So before you get bored lets jump straight to the topic of solution cloning.
For this demo, I have created a solution ‘Solution A’ with the account entity. The following are the components which I added for the account entity.
- Main Form
- Active Accounts (Public default view)
- Fields
- donotemail
- donotfax.
Now I go ahead and create a patch for the solution A. In the patch I add an additional field ‘description’.
Now I go ahead and clone the base solution that is ‘Solution A’. Remember that CRM allows cloning of base solution only and not the patch solution. Once you select the base solution and click on ‘Clone Solution’, you are presented with a dialog to choose the version number.
Remember that in solution patching, you are only allowed to change the build and revision numbers of the version number of solution. However since you are cloning a solution, you are basically creating a new base solution from the previous base solution. So here build and revision numbers are non-editable. However you can change the major and minor versions.
I keep the same numbers for major and minor versions. And then click on Save.
The fun part comes here. The moment you click on Save, a new solution with the version number mentioned 1.1.0.0 is created. However the base solution – Solution A and all its patches are deleted. And all the components of the base solution as well as the patches are merged in the main solution.
I added the field ‘donotemail’ and ‘donotfax’ in the base Solution A and the field ‘description’ in the patch of solution A. The new cloned solution has all the three fields.
If you see the description of of the newly created solution, it clearly states – ‘Upgrade of solution A’.
Please remember that when you clone solution, the base solution and all its related patches would be deleted and would be merged into a single solution. So if you intend to keep on the patches, you have to keep this in mind.
I was honestly hoping that once we click on the Save on the clone dialog, it would explicitly mention that all patches of the base solution along with the base solution would be deleted.
Hope this helped!
Debajit Dutta
Business Solutions MVP
Discover more from Debajit's Power Apps & Dynamics 365 Blog
Subscribe to get the latest posts sent to your email.
Great post. One question – if you had allready deployed v1.0 of the base solution, as well as the patch solution v1.0.1 to production – and then on your dev environment you create the next version by “cloning” to produce a v2.0 solution. Can you import the v2.0 solution on production system and does it remove the version 1.0 and 1.1 solution files when you do the import?
Hi,
Thanks for reading my blog post.
When you clone a solution, the base solution and all its patches are merged into the new solution and then are deleted. When you import the managed solution of version 2.0 the CRM system would detect that this is an upgraded solution and while you import the solution it would ask you to confirm for solution upgrade.
Hi Debajit,
Nice article 🙂 Thank you for sharing !
If I have 1 dev and 1 test environment and both have the same solution A, is it possible to create a patch from DEV Solution A, export it to merge it to TEST Solution A ?
Best,
P-O
Hi Olivier,
Thanks for reading my blog. Yes it is possible. You create patch from Dev for solution A and once you import it to Test, the managed patch would get applied.
However the important point to consider here is that the patch will be applied only on top of solution A in Test.
-Debajit