In our Solutions – Management and Best Practices – Part 1 post, we walked you through the creation of a new publisher and new solution. Now that you’ve had the chance to create one and add an entity to it, we’ll discuss Managed and Unmanaged solutions and dive into Managed solutions by walking you through exporting and importing a solution.
Note: This blog is specifically referring to using managed solutions for specific products, like ISVs.
Managed Vs. Unmanaged Solutions in CRM 2011
Microsoft describes the difference of the two types of solutions as the following:
“A managed solution is a completed solution that is intended to be distributed and installed. An unmanaged solution is one that is still under development or is not intended to be distributed.” ~Microsoft
So, at a very high level, we can assume given this statement that managed solutions are for production environments and unmanaged solutions are for test or development systems. To understand why Microsoft might recommend using the two types in this way, we must look into what’s different about them.
When importing a managed solution, all components that are a part of the solution are maintained separately from your default solution. If you were to delete the solution, all of its parts would be removed completely. Managed solutions lock down their components by not allowing new components to be added or existing ones to be removed. Solution components, however, can be customized if they’ve been enabled to allow it.
This form of solution becomes very favorable if you’re developing a component that might change in the future, or have developed a solution that you’d like to resale. PowerPack components come in this format and you can download them and try importing them after finishing with this walkthrough. A video demonstrating the installation and configuration of PowerPack components can also be found here.
Let’s export the solution we created in the last blog and create a managed solution from it. Open up your browser and navigate to CRM. Select Settings on the left navigation bar and then Solutions:
Now select the PowerObjects Blog Solution and click Export:
Before we jump into the actual export of the solution, CRM gives us the option to Publish All Customizations that we might have made. Click this if you need to, otherwise, select the Next button:
The next window you see gives you the option of exporting not only your customizations but also other more low-level components. In our case, we will not be exporting any of this information, so click Next:
Now, we come to a window that allows us to choose either the Managed or Unmanaged solution types. We’ll select Managed and click Export:
The solution will be packaged and you will be given the option to save your solution. If you open the zip file that was downloaded, you should see a few XML files inside:
This zip file is your managed solution in package form; you can install it in other organizations. Since we already have the PowerObjectsBlogSolution installed in our test organization, we won’t be able to install the managed solution there as well. Instead, we’ll download the PowerOneView PowerPack component and install that instead. I won’t go into registering the component, but you can find that information in the video link above.
After you’ve download the solution, if you look inside you’ll notice a couple of extra folders:
These relate to the Web Resources and Plugins that have been developed and included in the solution. If you were to add these components to your solutions and export them, you’d see them too.
Go back to the Solutions page and click the Import button:
On the next window, click Browse and navigate to where you downloaded PowerOneView and select it. Now click the Next button:
An informational window will pop up, giving you the basic details of the package. If you’d like to know more about the package details, you can click the View solution package details button, or click Next to move on to the next step:
The next window gives the user the option to activate all the processes and SDK message processing steps in the package. This means that those plugins that are in the solution would become active and would work right after our import. For our purposes, we’ll check this box and click Next:
After a window with a progress bar completes and leaves the screen, you’ll see a window giving you an overview of what was imported during the process:
Click Close and you’ve now installed a managed solution.
In Part 3 of this series, we’ll look at the differences between Managed and Unmanaged Solutions and walk through some of the specific of Unmanaged solutions.