After defining customizations, export customizations as solutions. This is how customizers and developers extend business functionality in Microsoft Dynamics CRM. Install and uninstall software solutions so that organizations can use Microsoft Dynamics CRM to install and uninstall the defined by the solution.
You can export a solution as managed or unmanaged:
- Managed solution. Do this to import (install) the solution into another Microsoft Dynamics CRM organization. Managed properties in a managed solution control how solution components are customizable.
- Unmanaged solution. Do this to create a backup, to make the solution transportable for development, or to import the added functionality and user interface customizations to another organization without managed properties.
Transportable items: solution components
Solutions only apply to native components to Microsoft Dynamics CRM called solution components. They are created using the customization tools or APIs included in Microsoft Dynamics CRM. Package solution components in a managed or unmanaged solution when transporting them through export or import. For more information, see Introduction to Solutions.
The following solution components can be exported or imported:
Custom and customizable entities, including view, forms, fields, relationships, and charts.
Field-level security profiles.
Workflows and dialogs.
Any managed properties that are applied to components are transported during export or import. Managed properties control which customization tasks can be performed on a solution component.
Importing and exporting customizations
Importing a new version of an existing entity will not create a duplicate entity. It modifies the existing entity by adding any new custom fields or relationships, those changes will be added to that entity. Changes applied by importing an unmanaged solution cannot be uninstalled. Do not install an unmanaged solution if you may want to roll back the changes.
Open the export or import wizard
In the Navigation Pane, click Settings.
Under Customization, click Solutions.
On the Actions toolbar, click Export or Import.
Solution component dependencies
Solution component dependencies make sure that you have a reliable experience working with solutions. They prevent unintentionally breaking a customization defined in a solution. These dependencies are what allow a managed solution to be installed and uninstalled by importing or deleting a solution.
There are two types of solution component dependencies:
Published dependencies are created when two solution components are related to each other and then published. To remove this type of dependency, remove the association and then publish the entities again.
Internal dependencies are managed by Microsoft Dynamics CRM. They exist when a particular solution component cannot exist without another solution component.
Internal dependencies require an action by one solution component for another solution component. For example, if you delete an entity, you expect that the deletion of all the entity fields with it. Microsoft Dynamics CRM also deletes any entity relationships with other entities. You do not need to manually delete each field or manually delete each entity relationship first.
However, an internal dependency might lead to a published dependency and still require manual intervention. For example, if you have included a lookup field on an entity form and then delete the primary entity in the relationship, you cannot complete that deletion until you remove the lookup field from the related entity form and then publish the form.
Avoid overwriting customizations
When you import relationships, you include the relationship behaviors and mapping. The entity definition also includes form scripts. You can import a whole set of customizations from another implementation and it will not create duplicate entities or attributes. However, any customizations to mappings, relationships, or form scripts will overwrite existing customizations. When you are transferring customizations to a new Microsoft Dynamics CRM Online subscription, this is probably what you want. However, in an existing system, you probably do not want to overwrite customizations.
If you are using import and export to move customizations between a production and a development environment, make sure that you always start by exporting a current version of your production customizations. Do not allow any customizations to be applied to the production system until the customizations under development are imported and published back on the production system. If this is not managed carefully, you may unintentionally overwrite some of your customizations.