Solution is a framework which contains all the components required for the business implementation. Solutions in MSCRM are used to migrate business related customization and configurations from one environment to another environment.
Taking an example:
Team have developed and tested the user requirements on UAT environment. Now, they have the go ahead and want to move it to production environment. Instead of doing all the development again on production environment, deployment team will be adding all the required component to the solution and move it to the production environment.
It is always recommended to start any customization in solution. It makes the process more agile.
Types of Solution
- Default Solution
- Unmanaged Solution
- Managed Solution
Managed Solution
Managed solutions are installed on top of the system solution and can modify any customizable solution components or add more solution components.
Managed solutions can also be layered on top of other managed solutions. As long as a managed solution enables customization of its solution components, other managed solutions can be installed on top of it and modify any customizable solution components that it provides.
Unmanaged Solution
Unmanaged solutions are groups of unmanaged customizations. Any unmanaged customized solution component can be associated with any number of unmanaged solutions.
You create a managed solution by exporting an unmanaged solution and selecting to package it as a managed solution.
How to create solution?
Follow the steps to create new solution:
Step 1: For UCI:
Advance Setting > Setting > Solutions
Step 1: For Classic:
Setting > Solutions


Step 2:
Click on the new button to add new solution

Step 3:
Fill in the details.

Here you will notice, what is version? and publisher?
Version will always have a certain pattern like for example: 1.0.0.1 which can be explained as Major.CRM.Minor.Release
Major: Code will be defined as if there is any major functionality added.
CRM: Defined as CRM version on which the solution was built.
Minor: Defines any minor changes made in the project.
Release: Defines any bug fixes or issues related to project.
Step 4:
Although you can add the default publisher. However, I will recommend to create new publisher.
Add publisher to solution. Click on the look up button given in the right side of field.
Step 5:
Click new and add the details.

Step 6:
Click on the Add button and Save the Solution.
Step 7:
Now you can create or add new components. We will discuss more about components later.




