Working With Dynamics CRM Solution Files

What is this solution file you speak of?

You’ve probably heard the Microsoft Dynamics CRM consultants you have been working with talk about the Dynamics CRM “solution file”. The Dynamics CRM solution file is a package of software customizations that customizers and developers create to extend the functionality of your Microsoft Dynamics CRM installation. Once created, the solution file can then be easily distributed from your various environments such as from development, to testing and finally to production. Note: In the Microsoft Dynamics CRM User Guide, Microsoft recommends that solution files should be imported when it is least disruptive to users, as publishing some customizations may interfere with normal system operation.

Although you can customize your Dynamics CRM within your default solution file, it is not a recommended best practice and besides, customizations cannot be transferred from one environment to the other without a solution file.

There are two different types of solution files; managed and unmanaged.

Managed Solution

A managed solution is a solution that is complete and is intended for distribution and cannot be modified. An example of this would be something pre-built, such as a third-party add-on that you install into your Dynamics CRM installation.

Unmanaged Solution

An unmanaged solution is a modifiable solution that allows you to continuously modify the Dynamics CRM environment and distribute changes to other systems like test and production instances. This is not the desired method for distributing intellectual property – such as a third-party add-ons – as modifications can still be made using this type of Dynamics CRM solution file. Unmanaged Solution files are ideal for customizations that are to be done within your own organization that you will not share.

Creating a Solution File in Dynamics CRM

The creation of a solution file is fairly straight forward. I will show this in Dynamics CRM 2015 (if you haven’t upgraded, or are looking to buy, please contact your Encore Account Manager for more details on Dynamics CRM 2015).

You will need System Administrator or System Customizer security role permissions in order to follow these steps.

Step 1

On your main navigation bar, navigate to the solutions area by clicking Microsoft Dynamics CRM -> Settings -> Solutions

Step 2

Click on the New button, in the top left of Solution area.

dynamics crm new solution file
Figure 1: All Solutions

This will bring up the New Solution form.

Step 3

Complete the “General” section of the New Solution form. Enter a Display Name and a Name (Name will be created for you based on your chosen DisplayName, however, you can modify the Name at this time). Then select a Publisher, enter a Version Number, and a Description.

creating solution file dynamics crm
Figure 2: New Solution, General

Please note that each solution file requires a publisher. A publisher provides a “customization prefix” and an “option value prefix”. You may choose the default publisher, which is created when your Dynamics CRM Organization is created (when your CRM system is installed), if you wish. However, the benefit of having different publishers is that the unique prefix that is created with each publisher will tell you which publisher was used to create new entities or fields. This is useful when splitting work tasks and you need decent tracking of who did what. More information can be found on the Microsoft website.

The Version Number should be updated each time you make a change to your customizations and distribute (export) to other environments. This helps you to keep track of which version of the solution is in which environment.

Finally, the description can be used to describe your solution, but I find it much more convenient to use this area to track what changes have been made to the solution, along with the date and the initials of the person who made the change (the last note is not removed, it is added to).

Note that while creating your solution, the Package Type (bottom right) is Unmanaged by default.

Save the solution.

Your solution will now be listed under All Solutions.

solution file list
Figure 3: Solution file list

Step 4

Now you are ready to import ONLY the components (entities, processes, security roles, reports, etc.) of Dynamics CRM that you need for your customizations. When you are thinking about what you need to bring into your solution file, think of it this way; every CRM (of the same version), has the exact same base as the one that you are starting in, therefore, the only thing you need to export and then import into a new environment will be the things that you change or create.

If you have multiple solution files in your environment, things can get confusing as you know that other customizations have already been made. As a general rule, only import the items that you need to customize or change. However, if what you need to change can be done within another unmanaged solution file (an existing solution file already has the components that you need), do so there rather than start a new solution.

dynamics crm solution file
Figure 4: Your solution file

Now that you have created your solution file you may safely modify your solution.

Important tip: If you have imported an entity into the solution that you did not need, DO NOT select “Delete”. Select “Remove”.

remove solution file

Happy Customizing!

Dynamics 365 CRM How-To eGuide

41 pages of step-by-step instructions for 6 different key tasks in Dynamics 365 CRM apps. Includes interactions with Power Apps and Power Automate!

Get eGuide

Dynamics 365 CRM How-To eGuide

Get eGuide