After using Solutions in Microsoft Dynamics CRM 2011 for a while now, there are a couple of tips how to use Managed and Unmanaged solutions in Microsoft Dynamics CRM 2011. If you are new in solutions in CRM 2011, look at this intro video
Tip 1: Understand the basic difference between managed and unmanaged solutions
In this video the differences between managed and unmanaged solutions are explained. The basic difference is whether you can or cannot modify the customizations within a solution. You can compare Managed solutions with compiled code which cannot be modified. Unmanaged solutions can be modified once published. Every new solution starts as unmanaged. When you export your solution you have the option to export it as managed or unmanaged. By importing in a new or the same organisation, the solution can become managed.
Tip 2: Customisations in managed solutions can still be customised
A managed solution cannot be modified. However, if you have a new entity, dashboard or options set in your managed solution, it can still be modified within another solution ‘on top’ of the managed solution. To disabled this, you can modify the customization options of an Entity, by clicking the “Managed properties” in the Entity /Option set / Dashboard grids of the solution. In the popup you can control whether the entity can be customised:
Here you can make a Entity not customisable at all.
Tip 3: Always keep an unmanaged copy of your managed solutions
If you export your solutions as managed solutions, these solutions become ‘locked’. After importing a managed solution, you cannot modify the customizations. If you don’t have an unmanaged copy of your managed solution, your cannot modify your own solutions anymore. So always keep a copy of your unmanaged solution within a CRM enviroment or by exporting once as an unmanaged solution in a zip file.
Tip 4: Try to work with only 1 unmanaged solution once at a time
You can add existing components to unmanaged solutions, like the contact entity. It is important to notice that when you add an existing component, it adds a reference to the component, not a copy of the component. If you have 2 unmanaged solutions with the contact entity added as a component, a change in solution A makes the same change in solution B. If you are working on 2 different solutions within an organisation, this can become a problem. The changes made in solution A are also made in the corresponding components in solution B. To avoid this, try to work with one unmanaged solution at a time, or try to avoid using one entity in multiple unmanaged solutions.
Tip 5: Understand conflict handling of solutions
If you have multiple solutions installed in an organisation, conflicts can occur when you import a solution. In this article the conflict handling is explained:
- User interface components (ribbons, forms, and site map) are merged. This means that the solution components are re-calculated from the lowest level to the highest so that the organizations unmanaged customizations are the last to be applied.
- Top Wins
- For all other solution components any conflict will be calculated in favor of the customization that is applied last. For managed solutions this usually means that the last solution installed will be applied. However, there is a special case when an update to a managed solution is installed.