Share via


Solutions in Microsoft Dynamics CRM 2011

A solution is a package of customized components that can be imported into a CRM system. Each solution has a name, version number, and publisher who owns the solution. Solution packages are packages of customizations that allow you to build and maintain Dynamics CRM\XRM applications, and to move from one organization to another organization.

Solutions can be packaged as unmanaged or managed solutions. This package type is important as it determines ho CRM handles the solution and, therefore, what you can do with the solution.

Default solution

A default solution is installed with every CRM 2011 organization, however, only imported solution are shown in the solution area so the default solution is displayed here.

Solution components:
A solution is a package of components, containing one or more of the following component types:

  • Entities
  • Option sets
  • Client extensions
  • Web resources
  • Processes
  • Plug-in assemblies
  • SDK message processing steps
  • Service endpoints
  • Dashboards
  • Reports
  • Connection roles
  • Article templates
  • Contract templates
  • E-mail templates
  • Mail merge templates
  • Security roles
  • Field security roles
  • System settings

Customization not included in solutions:

Several configuration settings and customizations are not included in solutions and need to managed separately. Those are as follows:

  1. Business units
  2. Teams
  3. Users
  4. Product catalog

Unmanaged solution

Until an export it, an unmanaged solution does not contain actual solution components; it simply contains references to the actual solution components, which exist in the default solution.
All solution are initially created as unmanaged solutions.
Unmanaged solutions can be exported from a source organization and imported into a target organization, but unmanaged solutions cannot be deleted.

Managed solution

Managed solutions isolate the solution components within the managed solution. Publishers can lock down components by configuring the managed properties within a managed solution to prevent the components from being further customized when the managed solution is imported into a new organization.

Managed solutions are created when a solution is exported from a source organization. Unlike unmabaged solutions, managed solutions can be deleted from the target organization.

Deleting a solution:

There is a significant difference between deleting a managed solution and deleting an unmanaged solution.

An unmanaged solution's components are just references that point to components that actually exist in the default solution. So when you delete an unmanaged solution, the components still exist in the default solution and it is only the unmanaged solution's container and the references that are deleted.

A managed solution's  components exist in the solution itself (unless you've added components from another solution), so when you delete a managed solution the solution's container and the actual components are irreversibly deleted.

Exporting solutions:

An exported solution is a ZIP file containing all the solution's components in XML format. Exported solution files can be imported into other CRM organizations. This is the most common method for promting customizations from development to test to production. It is also the method by which customizations are packaged by publishers and delivered to customers.

When you export a solution from Microsoft Dynamics CRM 2011, you have the option to export the solution as either an unmanaged or managed solution. A managed solution cannot be exported from your organization after it has been imported.

If you export your solution as an unmanaged solution, you will be able to continue customizing the solution's components after importing it into your target organization. If you export your solution as managed solution, your ability to customize the solution's components will be restricted (depending on the managed properties specified in the solution when it was exported).

Managed properties:

The purpose of managed solution is to allow your solution to be imported into a target organization in a locked state so that no further changes can be made to it. However, there may be scenarios when you want to allow some components of the managed solution to be updated. You can achieve this by modifying the managed properties of the solution's components before export the solution.

  1. Entities and attributes each have several managed properties.
  2. Most other solution components have a single managed property - they can be customized.

Managed properties are:

  1. Display name can be modified.
  2. Can change additional properties.
  3. New forms can be created.
  4. New charts can be created.
  5. New views can be created.