The Solutions are basically containers used for transporting customization components from one environment to another – say from development to QA environment or from QA to production.
Solutions can be broadly classified into 3:
- Default Solution
- Managed solution
- Un-managed Solution.
- Default Solution
Default solution is the ‘default’ container available in Dynamics 365 /CRM which includes all the default components in the system such as entities, global optionSets, reports, web resources, apps etc. As an administrator, you can customize or add more components to this solution. there is only one default solution available in the system which you cannot change or remove.
In addition to the default solution, you can create more solutions which can be exported to two types of packages – managed and unmanaged.
- Managed Solution:
When you export a solution to deploy to production you most probably have to select managed solution option. A managed solution is a completed solution that is intended to be distributed and installed. Managed solutions can be installed on the top of the system solution or other managed solutions.
Important Points −
- If you export a managed solution from one organization and import it to another, you can’t edit the solution in the new organization.
- A managed solution does not directly reference the system solution.
- Uninstalling a managed solution uninstalls all the customization associated with the solution.
- By default, a managed solution can’t be customized in the target organization. However, using the concept of managed properties you can define whether a solution component will be customization and if yes, then which specific parts of the component will be customization once the solution gets exported as a managed solution.
- Unmanaged Solution
An unmanaged solution is a solution that is still under development and not intended to be distributed. An unmanaged solution contains all the unmanaged customizations of CRM components including any added, modified, removed, or deleted components. By default, any new solution is an unmanaged solution. However, you can export an unmanaged solution as a managed or unmanaged solution.
- If you export an unmanaged solution from one organization and import it to another, you can edit the solution in the new organization.
- An unmanaged solution directly references the system solution. Hence, the changes made to one unmanaged solution will be applied to all the unmanaged solutions that reference the same components, including the system solution.
- If you delete a solution component from an unmanaged solution, the component gets deleted permanently from the system and will no longer be available. In case you just want to remove the component from a specific unmanaged solution, use remove instead of delete.
- Uninstalling an un-managed solution does not remove the associated customization. It just deletes the solution from the system, but the changes you made will still be there.