Use solutions to extend functionality and the user interface. Customizers and developers distribute their work as solutions. Organizations use Microsoft Dynamics CRM to install and uninstall the solution.
To create a new solution, create a solution record. Then, associate solution components with the solution. Create new solution components in the context of the new solution or add components from existing solutions.
Each solution is associated with a publisher record that contains details about the solution creator. The publisher record includes a customization prefix added to the names of any of the publisher's solution components.
To customize a solution you must have the System Administrator or System Customizer security role, or equivalent privileges.
Solutions have one or more solution components. This includes reports, processes, templates, Web resources, and security roles. Create a component in the customization area of Microsoft Dynamics CRM or develop it outside of Microsoft Dynamics CRM. For more information about outside development, see the Microsoft Dynamics CRM SDK.
Whether a component is customizable is determined by the managed properties set when the component was added to the system.
You can delete or remove components from an unmanaged solution, but not from a managed solution. To delete a component eliminates it permanently. To remove a component withdraws the it from an unmanaged solution, while leaving it available for use elsewhere.
Types of solutions
There are three types of solutions:
- Default Solution. This is the standard software, plus any customizations that your organization has added.
- Managed Solution. This uses a solution's managed properties to control how solution components can be customized after importing (installing) the solution into another organization. Although solution components may be customized (if permitted when creating the managed solution), you cannot add or remove components.
- Unmanaged Solution. This is how to backup a solution, to transport a solution for development, or to import the added functionality and user interface customizations in another organization.
Solutions often include solution components with relationships, lookup fields, and related functionality or user interface called dependencies. Before deleting a solution with solution components with dependencies, first remove the dependencies. More information: Understanding solution dependencies, Delete a solution
Solution component dependencies
Solutions often include relationships, lookup fields, and related functionality or user interface changes. These, interacting with other Microsoft Dynamics CRM business or custom components, are dependencies. To delete a solution that has components with dependencies, remove the dependencies first.
Solution component dependencies prevent actions that you normally perform from unintentionally breaking some customization defined in a solution. These dependencies allow a managed solution to be installed and uninstalled only by importing or deleting the solution.
There are two types of solution component dependencies:
- Published. To remove this type of dependency, remove the association and then publish the entities again.
- Internal. These actions require an action from another solution component. You do not need to manually delete each field or each entity relationship first.