My team is new to the idea of using the Clone a patch feature with in Dynamics. Here is a question we have before we start fully adopting this feature.
Here is the scenario. Lets say I have an unmanaged solution on my dev instance and I created 3 patches. (Patch A, Patch B, and Patch C). They all contained unique changes. Now the work was finished the patches got imported into our UAT environment as managed solutions. However, lets say that the users found an issue with components in Patch B, but Patch A and Patch C passed user testing and is ready for a prod release. Here is my desired question, how can I now go back to my dev instance and now delete Patch B, but keep Patch A and Patch C and perform a clone solution so that ONLY the work inside Patch A and Patch C roll up. Wouldn't Patch B's changes also be in the rolled up solution? I wan't to segregate the components from Patch B to save for a later release.
I hope this makes sense. Any insight to this would be appreciated!
Thanks!
*This post is locked for comments
Hi,
Make sure you checked "Stage For Upgrade" and "overwrite solution" in the import window. Once import done you need to click on "Apply Solution Upgrade" then do publish all customization. The managed Patch B should not be there in your UAT environment. Only upgraded solution will be there.
Thanks for you insight on this.
When "Patch B" is deleted from a managed environment, the changes from that patch will stay(I have tested this). Does the "Stage For Upgrade" action remove those components that were imported from "Patch B" in that managed environment?
Hi Haris,
Your understanding is correct , I did some practical with the scenario you shared and here is the outcome. Hope this helps you.
Assuming you have a parent unmanaged solution called "Main P" and having unmanaged Patch A, Patch B, and Patch C in your DEV environment . You have imported all patches sequentially on top of main solution in UAT environment and after all patch deployment you have 3 patch solution and one main solution.
[UAT managed solution]
Main P ( V 1.0.0.0)
Patch A ( V 1.0.0.1)
Patch B ( V 1.0.0.2)
Patch C ( V 1.0.0.3)
Now as per your question you need to delete the "patch B" , so go back to DEV and delete "Patch B" and then do "clone solution" of the "Main P". in that case you will have one solution in your DEV environment lets assume in your DEV you have now below solution with version 1.0.2.0.
[DEV unmanaged solution]
Main P ( V 1.0.2.0) [ All patches will be delete once you clone solution and component will be added in newer cloned solution ]
Now deploy the clone solution "Main P" ( V 1.0.2.0) into UAT . Make sure you checked "Stage For Upgrade" and "overwrite solution" at the time of import . Once import done you will find a option called "Apply Solution Upgrade" , click on this. Once done , do publish all customization.
You will see in UAT only one solution and all patches (Patch A, Patch B, and Patch C ) and Main P ( V 1.0.0.1) solution will be deleted. You will see below solution only in UAT.
[UAT managed solution]
Main P ( V 1.0.2.0) [ All patches and old main solution will be deleted and component will be added in the new upgrade solution ]
For future reference yes you can keep back up of patch B by exporting Patch B ( V 1.0.0.2) solution from DEV before delete.
Hope this helps .
Hi,
You can delete Patch B and clone the Parent solution with only Patch A & Patch C. Since Patch B is in dev instance and it is unmanaged solution, Please ensure that you delete all the customization made in Patch B solution if these customization not needed any more.
In UAT, anyways you have managed solution so deleting Patch B solution will also remove the customization.
You can refer the below document from Microsoft on Patch and clone of solution.
docs.microsoft.com/.../create-patches-simplify-solution-updates
Each patch you create only have dependency on Parent or Base solution.
Your Patch B will not have any dependency on Patch C or A. Patch B will only have dependency on your main solution.
You can delete the Patch B from your UAT environment - if you delete a managed patch, it will delete the component as well.
You can then delete your Patch B from Dev.
To deploy to production, you only have to apply the Patch A and C now and it should import fine as patches wont have any inter-dependency
docs.microsoft.com/.../create-patches-simplify-solution-updates
www.inogic.com/.../solution-patching-in-microsoft-dynamics-crm-2016
Mohamed Amine Mahmoudi
83
Super User 2025 Season 1
Community Member
52
Victor Onyebuchi
6