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

Power Apps Portal: The Successor to Microsoft Dynamics Portal

In case you have been reviewing Microsoft's new pricing for its Dynamics products which was released this month and have been unable to find Dynamics Portal, it has been rebranded as PowerApps Portal and shifted to the PowerApps side of the Microsoft product family.


Rebranding the portal product underscores the importance of app scenarios involving external users such as customers and suppliers.  It also provides a simpler interface than Dynamics 365 for occasional users.

The new portal pricing is based on the number of unique users who log into the portal each month (for authenticated users) and on the number of page views for anonymous users.  "A login provides an external authenticated user access to a single portal for up to 24 hours. Multiple logins during the 24-hour period count as 1 billable login. Internal users can be licensed either by the PowerApps per app or per users plans, or a qualifying Dynamics 365 subscription."

Pricing starts at $200/mo. for 100 dail…

ScreenMeet Remote Support Tool for Dynamics 365 Customer Service

I met Lou Guercia when he was president and CEO of Scribe Software, the leading CRM integration tool.  Scribe was acquired by TIBCO Software in 2018.  I recently reconnected with Lou and learned about ScreenMeet, the company he joined as chief operating officer.   The following is a description of the product provided by ScreenMeet:

ScreenMeet is a cloud-based remote support tool designed to integrate with Dynamics 365 Customer Service. By enabling customer service and IT support organizations to address critical technical issues directly from their CRM or ticketing platform, it streamlines the process and provides a fully browser-based support experience.

You can also use ScreenMeet with other CRM products or even on its own without a CRM.

Here is a short video demo of ScreenMeet with Dynamics integration:


ScreenMeet - Cloud-based Remote Support Integrated with Dynamics 365 Customer Support Once integrated with a Dynamics 365 CS organization, the ScreenMeet widget appears on Case pa…

Microsoft PowerApps and Microsoft Flow Licensing for Beginners

NOTE: Since this post was written, Microsoft has updated pricing.  For current pricing, see https://powerapps.microsoft.com/en-us/pricing

Next month marks two years since Microsoft announced the preview of its Flow workflow automation product.  Since then, PowerApps and Microsoft Flow have been gaining in popularity.

We at InfoStrat are receiving more questions from customers on how PowerApps and Flow are licensed by Microsoft.  This is a brief overview with links to authoritative Microsoft resources with all the details.

What are PowerApps and Flow? Microsoft PowerApps is a framework derived from Dynamics 365 (formerly Dynamics CRM) that allow you to build apps either with or without a form interface.  PowerApps works with Microsoft Flow.

Microsoft Flow is is a cloud software tool to build automated workflows that connect to many Microsoft and non-Microsoft systems and services.  For instance, you could write a workflow which would create a record in Dynamics 365 whenever a new file …