Upgrade Your Customizations from Microsoft Dynamics CRM 4.0
If you created customizations for Microsoft Dynamics CRM 4.0, you must upgrade your customizations to be compatible with Microsoft Dynamics CRM 2011.
In This Topic
In Microsoft Dynamics CRM 4.0, customizations are equivalent to unmanaged customizations. During upgrade, the existing customizations are processed and added to the unmanaged customizations for the organization. You access them using the Customizations area under Settings. Any applications that use Microsoft Dynamics CRM 4.0 APIs should be backwards compatible.
Update Microsoft Dynamics CRM 4.0 Customizations to Microsoft Dynamics CRM 2011
Your first step is to evaluate the new capabilities introduced in Microsoft Dynamics CRM 2011. You may have made design choices because the capabilities you needed were not available in Microsoft Dynamics CRM 4.0 that are now available. You may have resorted to unsupported methods to achieve business requirements that can now supported in Microsoft Dynamics CRM.
The next step is to create one or more unmanaged solutions that implement any design changes you want to apply for Microsoft Dynamics CRM 2011. During this process, you should consider whether you want to break your solution into separate modules or retain within a single solution. After your conversion is complete, you can export your solution as a managed solution and distribute it to your organizations that will install it for the first time.
After you verify that your solution works correctly with Microsoft Dynamics CRM 2011, you can begin to work out how to upgrade any organizations that already have your Microsoft Dynamics CRM 4.0 customizations installed.
Options to Upgrade Existing Customers
Unmanaged and managed versions of the same solution cannot co-exist in the same organization. You must decide whether to leave the customizations representing your solution as unmanaged or convert them to a managed solution.
Two options are discussed below:
Leave the Solution as Unmanaged
You are not required to use managed solutions. Some organizations may want to continue to use the Microsoft Dynamics CRM 4.0 model and customize the system as they have been doing.
This may be common for large enterprises that have large IT departments who have full control over their environments and are not concerned about merging customizations or multiple solutions colliding with each other.
A variation of this option is to separate the various solution components into multiple unmanaged solutions based on logical groups of related solution components. This will enable more flexibility in transporting a sub set of solution components.
Convert Unmanaged Customizations to a Managed Solution
If you want to take advantage of the capabilities provided by managed solutions for your existing customers, you will need to convert the unmanaged customizations representing your solution in the customer’s upgraded Microsoft Dynamics CRM 2011 organization.
When an organization installs your managed solution and the system detects that a solution component in the unmanaged customizations matches a solution component in your managed solution, the following message will display:
One or more components in the solution already exist in your system as unmanaged components. Importing this solution will convert the components into managed components for this solution.
Warning: Any customizations that your organization has made to these components will be lost.
After the import operation is complete, managed solutions from other solution publishers will be unable to update these components.
When the person installing your managed solution accepts these conditions, the unmanaged customizations will be included in your managed solution. The installation performs the following actions when converting unmanaged customizations into a managed solution:
Creates any new solution components
Preserves existing components
Updates existing components
Overwrites any form layout changes
Merging is not done
- Merging is not done
Overwrites any changes to Views.
- Overwrites labels
|We strongly recommend that you back up your unmanaged customizations before you install the managed solution. After the managed solution is installed, you will not be able to export the definitions of these customizations.|
|Never install a managed solution on your development environment that will convert your source unmanaged solution components to part of a managed solution. You will not be able to export those customizations.|
If an unmanaged solution is detected with the same unique name as the managed solution that you are trying to import, the installation will fail unless you delete the unmanaged solution.
Refactoring your Unmanaged Solution Prior to Converting to Managed
The process to convert an unmanaged solution to a managed solution simply detects solution components that match those defined in the managed solution installed. It does not provide any optimizations that you may want to have in the Microsoft Dynamics CRM 2011 version of your solution. If your new solution contains different solution components than those provided by the default upgrade of your solution, provide a way to migrate the unmanaged version of your solution on your customers organization so that it matches the solution components found in the Microsoft Dynamics CRM 2011 version of your solution.
ConvertToManaged Optional Parameter
You can install a managed solution programmatically by using the ImportSolutionRequest message.
For example, you may want to write a program to address any refactoring you need to do for your solution. After your refactoring is complete, you can use this message in your application to import your managed solution to complete the conversion process.
You can use the optional ConvertToManaged parameter with this message to direct the system to convert any matching unmanaged customizations into your managed solution.
To use this optional parameter, you must create an application to perform the installation. The following sample shows how to include this optional parameter:
ImportSolutionRequest request = new ImportSolutionRequest(); request.CustomizationFile = compressedData; request.ConvertToManaged = true; request.ImportJobId = Guid.NewGuid(); ImportSolutionResponse response = new ImportSolutionResponse(); response = (ImportSolutionResponse)ExecuteRequest(request, typeof(ImportSolutionResponse));
Microsoft Dynamics CRM 2011
Send comments about this topic to Microsoft.
© 2013 Microsoft Corporation. All rights reserved.