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 A defined set of privileges. The security role assigned to a user determines which tasks the user can perform and which parts of the user interface the user can view. All users must be assigned at least one security role in order to access the system., 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 Managed properties control which customization tasks can be performed on a solution component. When you create new solution components, you can choose what level of customization you will allow for each. Managed properties are set for a solution component while the solution is unmanaged. The managed properties take effect only after the solution is packaged (exported) as a managed solution and installed in another organization. set when the component was added to the system.
You can delete or remove components from an unmanaged solution For those with a required security role, an unmanaged solution has no restrictions on adding, deleting, updating, testing, importing, or exporting solution components. A solution is developed as an unmanaged solution. This differs from a managed solution, where you cannot add or remove components., but not from a managed solution A complete solution that has been packaged. A managed solution has partial or full restrictions on customizing solution components. Package and export a solution as a managed solution to control customizing solution components when installed into another organization. While a managed solution may allow customizing one or more components, you cannot add or remove a component. This differs from an unmanaged solution, where you can add or remove components.. 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.
You can only delete custom entities Entities created by a developer or System Customizer in Microsoft Dynamics CRM. They are created in the customization area and can be included in a solution. Custom entities might be further customizable, depending on restrictions placed on them when created. and components. Although you cannot delete business entities A standard Microsoft Dynamics CRM entity that can be customized or added to a solution. When part of a solution, business entities might be further customizable, depending on the restrictions placed on them when created., you can remove them from an unmanaged solution.
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 A complete solution that has been packaged. A managed solution has partial or full restrictions on customizing solution components. Package and export a solution as a managed solution to control customizing solution components when installed into another organization. While a managed solution may allow customizing one or more components, you cannot add or remove a component. This differs from an unmanaged solution, where you can add or remove components.. This uses a solution's managed properties Managed properties control which customization tasks can be performed on a solution component. When you create new solution components, you can choose what level of customization you will allow for each. Managed properties are set for a solution component while the solution is unmanaged. The managed properties take effect only after the solution is packaged (exported) as a managed solution and installed in another organization. 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 For those with a required security role, an unmanaged solution has no restrictions on adding, deleting, updating, testing, importing, or exporting solution components. A solution is developed as an unmanaged solution. This differs from a managed solution, where you cannot add or remove components.. 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.
A solution is unmanaged while under development. You can export a solution as managed or unmanaged. More information: Export a solution, Import a solution
Solutions often include solution components with relationships A definition of how records may be related to each other. Relationships defined between entities control how Microsoft Dynamics CRM presents options for records to be linked to each other in the application., lookup fields Fields used to create a reference to a related record. Also known as a relationship field., 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
Solutions often include relationships A definition of how records may be related to each other. Relationships defined between entities control how Microsoft Dynamics CRM presents options for records to be linked to each other in the application., lookup fields Fields used to create a reference to a related record. Also known as a relationship field., 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.