Dynamics 365 CRM Solutions

Welcome to another exciting post on Dynamics 365 (New brand name of CRM) Solutions.


Here we will discuss in-depth about CRM Solutions with below points:

  1. Fundamentals of CRM Solution
  2. CRM Version Compatibility Matrix
  3. Solution Components
  4. Default Solution(System) & Custom Solution
  5. Un-managed & Managed Solution
  6. Solution Publisher
  7. Managed Properties
  8. Conflict Resolution : Merge & Top-Win
  9. Dependency Tracking
  10. Create, Version, Export, Import, Publish, Delete Solution
  11. Multiple Language support
  12. Solution Entities (SQL tables)
  13. Solution Segmentation

Watch the video below working with CRM Solutions. Watch Youtube Video otherwise keep reading the article. Check out the playlist here for all CRM video tutorials.

Fundamentals of CRM Solution

  1. What is CRM Solution
    A container of CRM customization used to author, package, distribute solutions for organizations to extend Dynamics 365 (Online & On-Premise).
  2. When to use CRM Solution
    To Package Customization, Distribute, Marketplace
  3. How Solutions are created
    Dynamics 365 UI → Settings → Solutions → New

CRM Version Compatibility Matrix


Solution Components


Default Solution & Custom Solution

  1. Default(System) Solution Represents the solution components defined within Microsoft Dynamics 365.
  2. Default solution defines the default application behavior.
  3. Many components of the system solution are customizable.
  4. Custom Solutions are created by developers or customizers top of the default(system) solution.
  5. Default(system) Solution cannot be deleted.
  6. System Solution : Settings → Customization → Customize the system
  7. Custom Solution : Settings → Solutions

Un-managed & Managed Solution

  1. Unmanaged solutions are solution still under development, not ready for distribution i.e. all custom solutions developers are working, are Unmanaged solutions.
  2. Components can be added,removed, delete from an unmanaged solution. Unmanaged solutions cannot be rolled back.
  3. When an Unmanaged solution is imported then the components of the unmanaged solution can be directly edited in target environment.
  4. Managed Solutions are completed and intended to be installed or distributed.
  5. When an unmanaged solution is completed then we can export it as a managed solution for target environments.
  6. Managed solutions can be layered on top of other managed solutions.

Solutions Impact on Application Behaviour


Solution Publisher

  1. Every solution requires a solution publisher. The solution publisher provide a common customization prefix and option value prefix.
  2. Multiple solutions can be associated with a common solution publisher. The solution publisher controls how managed solutions can be updated. When you install a managed solution, the publisher is visible but you can’t associate an unmanaged solution with it.
  3. The publisher decides the prefix value of the customizations and the optionsets values initialization.
  4. Each organization will have a solution publisher called “Default Publisher for ”.
  5. We can create our own publisher with a new prefix for the customization.
  6. The maximum length of prefix is 8 Character. For practical watch the video.

Managed Properties

  1. Managed properties are the options defined in an unmanaged solution while exporting as Managed solution.
  2. Using managed properties, the creator of a managed solution can control whether a solution component is customizable and which specific parts of it can be customized.
  3. By default, the managed property settings assume that any kind of solution component is fully customizablemanagedproperties.png
  4. The managed property for an entity is given below.mp.png

Conflict Resolution

  1. When two or more solutions define solution components differently, Microsoft Dynamics 365 resolves the conflict using two strategies, Merge and Top Wins. The following diagram illustrates the differences.
  2. UI Components ( Command bar, ribbons, forms, and sitemap ) are merged This means that the solution components are re-calculated from the lowest level to the highest so that the organization’s unmanaged customizations are the last to be applied.
  3. For all other solution components any conflict is calculated in favor of the customization that is applied last. For managed solutions this usually means that the last solution installed is applied. However, there is a special case when an update to a managed solution is installed.
  4. Managed solution can preserve the changes although any changes done by unmanaged solutionconflictresolution.jpeg

Dependency Tracking

  1. Solution framework automatically identifies the dependencies of the components of a solution.
  2. This ensures the integrity of the system and prevent operations that would lead to an inconsistent state.
  3. Deleting a component from a solution is prevented if any other component depends on it.
  4. Exporting a solution warns the user if there are any missing components that could potentially cause failure when importing that solution in another system.
  5. Importing a solution fails if all required components aren’t included in the solution and also don’t exist in the target system.

Create, Version, Export, Import, Publish, Delete

  1. Creating Custom Solution – Practical
  2. Versioning a solution is mandatory. Version defines the solution package. Version contains Major.Minor.Build.Revision – Practical
  3. Solutions can be exported as Managed solution or Unmanaged solution.
  4. Exported solution can be imported in target upstream environments or uploaded in dynamics marketplace.
  5. Every solution before export and after import must be published.
  6. We can delete a solution from the system.

Support Multiple Language

  1. Microsoft Dynamics 365 natively supports multiple languages. Whenever a language pack (sometimes referred to as a ”MUI pack”) is installed, user interface elements can be displayed in a different language..
  2. Read how to do this here.

Solution Entities


Solution Segmentation

While adding entity into a solution now the system provides a way to choose the separate sub-components of entities. Read the article for more info.


Important Notes:

  1. Deleting an Unmanaged solution don’t rollback the customizations rather the solution record will be deleted.
  2. unmanaged customizations are considered ”above” any managed solution
  3. While multiple developers working on same components shared by multiple solutions then the last changed will take effect.
  4. Other resources : softchief.com
  5. MSDN Resources : Solution
  6. What can be customized : Read here
  7. Learn Web Design by the excellent courses : Click Here!

Watch the video tutorial for practical concepts. Thank you for watching the video tutorial.

Please subscribe & Follow for more posts and tutorials on Dynamics 365.