Skip to main content

Understanding Dynamics 365 Solutions

Microsoft Dynamics 365 allows a developer to package  a number of customizations as a solution so they may be installed and managed as a unit rather than individually.  By customizations, we mean new entities and fields, business processes, and other elements that are added to Dynamics 365 to make it better suite your business needs.  For instance, you could put all your custom entities and attributes as well as reports in a solution.  The solution may be installed into an instance of Dynamics 365 -- online or on premises.

Managed solutions are a type of solution which prevents unintentional changes to the customizations. You must start by creating an unmanaged solution and then deploy it as a managed solution in another instance of Dynamics 365.



There are many approaches to defining the scope of a solution.  You can make it modular by breaking it into multiple solutions.  One extreme is to put all customizations in a single solution.  The other extreme is to use multiple solutions in order to make it easier to reuse solutions across Dynamics 365 instances.

For Microsoft Grants Manager, we would use one solution for the standard Grants Manager Plus customizations, and another which contains customizations unique to a particular agency. A third solution is used for the customizations that relate to the PortVue portal.

Be careful about dependencies among solutions, because this can complicate deployment. If you end up with proliferation of too many solutions, you may want to re-examine them and determine whether some should be merged into fewer solutions.

Solutions are a distribution mechanism rather than being designed as a tool for managing a multi-developer project.  There are better ways of coordinating coding than to have a solution for each developer. Three ways you could organize team development are:

  • Single organization: One master solution
  • Single organization: Multiple developer solutions and one master solution
  • One organization per developer
You can also apply patches in order to simplify solution updates. Solution patches can contain subcomponents of entities rather than the entire entity, reducing the risk of inadvertently overwriting assets by replacing the entire entity. 


You need to consider maintenance implications of Dynamics 365 solutions.  For instance, recently we were updating a client's CRM to a new version, only to find that a managed solution was installed that no one recognized.

Solutions are not always backwards compatible to earlier versions of Dynamics 365/CRM, as shown in the following figure:


Source: https://msdn.microsoft.com/en-us/library/gg334576.aspx

If you would like to sell your app, you can publish your solution to AppSource, the Microsoft marketplace for Dynamics solutions. AppSource makes your apps visible to the community of Dynamics 365 users.

Note: This post is an updated version based on Planning for Dynamics CRM Solutions.

Popular posts from this blog

Key Concepts for Microsoft Dynamics 365: Tenant, Instance, App and Solution

Updated 8/15/2022 To understand Microsoft Dynamics 365 (formerly Dynamics CRM) and Power Apps, you need to learn some new terms and concepts that may be a bit different from what you know from databases and solutions that are hosted on premises.  These concepts also apply to Power Apps.  The main difference is that with Power Apps you are not starting with a Microsoft app but more of a blank canvas for your custom apps.  This post introduces some key terms and how these concepts are important for planning your implementation. While Dynamics 365 is still available on premises, it is most commonly deployed on the Microsoft cloud.  This blog post discusses only cloud implementations. Microsoft has multiple clouds such as commercial and government community clouds in several countries. We start with a Microsoft tenant .  A tenant is the account you create in the Microsoft Online Services environment (such as Office 365) when you sign up for a subscription. A tenant contains uni

Understanding Dynamics 365 and Office 365 Admin Roles

Managing Dynamics 365 instances If you run Microsoft Dynamics 365 (formerly Dynamics CRM) in the Microsoft cloud, you need to understand how your Dynamics instances relate to Office 365 and choose which of your administrators receives which roles and permissions to manage Dynamics 365. In on premises deployments, your network administrator would create and delete user accounts.  The Dynamics 365 admin would then assign permissions to users in Dynamics 365. This post explains three administrator roles: Office 365 Global Administrator Dynamics 365 System Administrator Dynamics 365 Service Administrator You may think that the Dynamics 365 system administrator would have power to do all the actions needed to manage Dynamics 365, but this is not the case. What's different in Microsoft cloud deployments is that licenses and user accounts are managed in Office 365 by an Office 365 Global Administrator.  This role is analogous to a network administrator for an on premises

My Favorite Microsoft Power Apps Bloggers and their Blogs

  by James Townsend Updated 7/5/2022 Microsoft Power Apps is one of my favorite subjects, and I enjoy reading blog posts from members of this thriving technical community.  Here are some of my favorite bloggers and their blogs: The Official Microsoft Power Apps Blog   I have to start with the official Microsoft Power Apps blog.  It has many contributors, largely Microsoft program manager, including frequent posters Denise Moran ,  Greg Lindhorst , Kartik Kanakasabesan , and  Adrian Orth .  This is the place to go for product announcements, updates and technical how-to for a broad range of Power Apps topics.  April Dunnam April Dunnam was formerly focused on SharePoint and now devoting herself to Power Platform.  April offers highly understandable explanations of Power Platform, Dataverse and other top Power Apps topics. She joined Microsoft in late 2019 and has a thriving YouTube channel .  Carl De Souza Power Apps Blog and eBook This is one of the most extensive and best organized blo