Prepare a Solution that is Backward Compatible with Earlier Releases of Microsoft Dynamics CRM

[Applies to: Microsoft Dynamics CRM 2011]

Microsoft Dynamics CRM 2011 Update Rollup 12 and the Microsoft Dynamics CRM December 2012 Service Update introduce new solution components that can be included as dependencies for exported solutions. These new dependencies can prevent the installation of a solution developed with Update Rollup 12 or the December 2012 Service Update on earlier releases.

The Solution Down-level utility exports a backward compatible managed or unmanaged solution from an organization with Update Rollup 12 or the December 2012 Service update installed.

Solution Down-level Utility

The Solution Down-level utility is a command-line executable program that exports a managed or unmanaged solution without any dependencies introduced by Update Rollup 12 or the December 2012 Service Update. The exported solution will be compatible with organizations that have installed Microsoft Dynamics CRM 2011 Update Rollup 6.

This utility can only be used with an organization that has Update Rollup 12 or the December 2012 Service Update installed.

Note

The Solution Down-level utility will not enable capabilities from Update Rollup 12 or the December 2012 Service Update to work in an organization with Update Rollup 6 installed. The Solution Down-level utility will not detect code customizations or web resources that use APIs added after Update Rollup 6.

For example, the Xrm.Utility functions added with Update Rollup 8 or the Xrm.Page.context.getClientUrl function added with Update Rollup 12 and the December 2012 Service Update will not be detected.

Before you distribute your solution you should test it with an Update Rollup 6 organization.

When to use the Solution Down-level Utility

If you intend to distribute a solution exported from an organization with Update Rollup 12 or the December 2012 Service Update installed, you should use the Solution Down-Level utility to help ensure organizations without Update Rollup 12 or the December 2012 Service Update installed can successfully install your solution. Even if you do not include solution components affected by the new capabilities introduced with Update Rollup 12 and the December 2012 Service Update, the normal solution exported from the application may include some solution components that will add dependencies that can block installation. It is possible that there are no blocking dependencies. The only way to know for certain is to use the Solution Down-level utility.

Don’t use the Solution Down-level utility if your solution includes extensions to solution components added in Update Rollup 12 or the December 2012 Service Update. You can prevent an organization without the necessary updates from installing your solution by setting a minimum version. For more information, see Require a Minimum Version.

How to use the Solution Down-level Utility

The Solution Down-level utility is included in the downloadable Microsoft Dynamics CRM SDK files at SDK/Bin/SolutionDownLevelUtility.exe. To run the tool, open a command prompt and navigate to the location where the SolutionDownLevelUtility.exe file has been copied to your computer. If you need to run the executable from a different location, copy the SolutionDownLevelUtility.exe together with the microsoft.crm.sdk.proxy.dll and microsoft.xrm.sdk.dll files to the desired location. Run the command SolutionDownLevelUtility.exe using the options in the following table.

Option Description

/baseurl:<string>

short form: /b

Required: Base URL for organization.

/solution:<string>

short form: /s

Required: Unique Solution name to export. Cannot be a managed solution.

/managed[+|-]

short form: /m

Required: Export as managed (+) or unmanaged (-).

/file:<string>

short form: /f

The file to which the components that are dependent on Update Rollup 12 or the December 2012 Service Update will be written.

Default value:”ComponentsToRemove.xml”.

/user:<string>

short form: /u

Required: User name - needs to be customizer of organization - default credentials will be used if AD

/pass:<string>

short form: /p

The password. Will prompt on command line if unspecified.

/homerealm:<string>

short form: /h

HomeRealm URL for delegated authentication, used only for Microsoft Dynamics CRM (on-premises) configured for federation

@<file>

Read response file for more options

Example:

The following examples use variables in the following table.

Location:

North America

Deployment Type:

Microsoft Dynamics CRM Online with Microsoft Office 365

Organization Name:

AdventureWorksCycle

Unmanaged Solution Name:

Solution1

User:

jsmith

Desired output:

Unmanaged Solution

The following example shows the correct usage:
SolutionDownlevelUtility.exe /b:https://AdventureWorksCycle.crm.dynamics.com /s:Solution1 /m:- /u:jsmith@AdventureWorksCycle.onmicrosoft.com

This command will create two files:

  • Solution1.zip: The exported unmanaged solution.

  • ComponetsToRemove.xml: The list of items removed.

Read Response File Example

Using the same variables in the previous example, prepare a text file containing the following code:

/b:https://AdventureWorksCycle.crm.dynamics.com
/s:Solution1 
/m- 
/u:jsmith@AdventureWorksCycle.onmicrosoft.com

Name the file whatever you want. In this example the file is named “commands.txt”.

Then execute the command with the “@” parameter as shown in the following example:
SolutionDownlevelUtility.exe @commands.txt

See Also

Concepts

Maintain Managed Solutions

Microsoft Dynamics CRM 2011
Send comments about this topic to Microsoft.
© 2013 Microsoft Corporation. All rights reserved.