Solution Package
When talking about customizations for Microsoft Dynamics CRM, one of the most important concepts is the solution package. The solution package is a container of all customizations. This packaging method allows customizers to export customizations, and reimport them into other environments, as well as group-specific sets of customizations by business functionality or project cycle. Managing solutions is an aspect that should not be taken lightly, as down the line, a properly designed solution packaging model can help a lot or create difficulties.
As mentioned before, solutions are used to pack a set of features together. They are used to extend the core functionality of the platform through grouped sets of features.
Solutions that contain only Dynamics CRM-specific configuration or features can be imported directly into Dynamics CRM using the default solution management framework and the interface provided. For complex solutions that contain both Dynamics CRM Solution Components as well as other external components, an installer solution is required. One such example is if you provide a custom solution that includes customization of Dynamics CRM to store additional data as well as maybe a portal or any other kind of application to allow this data to be captured through the use of the standard API. For such a solution, an installer application can be created to deploy all customizations together. This type of scenario is outside the scope of this book and requires a development group or qualified partner to assist.
Solutions are created specific to a version of the Dynamics CRM platform. At the time of this writing, Dynamics CRM 2016 has just been released. There are several previous versions. Usually, a solution exported from a specific version can be imported into the same version or a newer version of the platform. As a rule of thumb, try to keep the solutions within two versions of the exported version to minimize the impact of changes introduced with newer versions.