Ever tinkered with something you wished you hadn’t? Ever wished for an ‘Undo Customizations’ button in Dynamics 365?
There isn’t one… yet. But until there is, here’s how you can remove unmanaged customizations from a managed component (including a native system component).
BEFORE YOU START
If you have access to a managed solution that contains the definition of the component you are looking to revert to, you can simply re-import the solution and choose to overwrite customizations (discard unmanaged customizations). However, this behaviour will apply to every component in the solution – not just the one you modified.
If this is not an option for you – read on.
BIG WARNING – Be very certain that you want to do this. This will literally return your solution component back to its original managed state. All your unmanaged customization (not just your most recent) will be lost.
- Create a new solution.
- Add only the managed component(s) you want un-customized.
- Export the solution as a managed solution.
- Delete the unmanaged solution in Dynamics 365.
- Import the managed solution.
- Delete the managed solution in Dynamics 365.
Let’s pretend you’ve deleted some important sections from the Contact form – not realizing they are required by some form scripts belonging to a third-party add-on.
- You create a new solution – “Broken Form”.
- You add only the Contact form you modified (not all Contact assets) to the “Broken Form” solution.
- You export the “Broken Form” as a managed solution.
- You delete the unmanaged “Broken Form” solution from Dynamics 365.
- You import the managed “Broken Form” solution into Dynamics 365.
- You delete the managed “Broken Form” solution from Dynamics 365.
- Care-free and delighted with yourself, you decide to take the rest of the day off work.
How It Works
The system contains a managed definition of each component (read only, a composite of system and managed solutions), as well as an unmanaged definition (originally a copy of the managed definition, but available for you to make changes to).
When you export the unmanaged definition (the result of your changes), and re-import it as a managed definition, there will no longer be any difference between the current managed definition and the current unmanaged definition.
The system will longer see your changes as the product of unmanaged customization, but as the product of your managed solution.
When a managed solution is deleted, the system also removes any product of that solution.
If you’re new to the subject of managed vs. unmanaged customizations and solution, please check out the documentation for further background.