In a previous post I described how to use a tool provided in the CRM / USD SDK to export your configurations and import into another organisation. An essential step to be able to migrate your code from dev, to test and into production environments.

I have recently looked at the USD 2.0 that comes with CRM2016. This was a preview version available to partners under and subject to an NDA. So I can’t discuss any details.

In doing this work I uncovered a problem that the tool in the SDK wouldn’t work across CRM versions. So I couldn’t export my configurations from CRM2015 into CRM216. The same issue would exist going from CRM2013 to CRM2015.

I found a “trick” that let me do it in a very easy way. I thought I would describe it here as it might be useful.

The USD configurations are compatible from CRM2013 SP1 right up to the latest version.

Meaning once imported you can use your configurations across different versions of USD and CRM. I have also found that the USD client is not tightly tied to any CRM version. So I have used older and newer versions of the client on differing CRM versions. Once available you’ll probably be able to use USD 2.0 against a CRM 2015 database.

My “trick” was to extract the deployment package but then not install. Next within the extracted files you will find a directory for each of the sample packages.

Within this directory there is a zip file called “data”. This contains the configuration data for the base package. I simply renamed this to “”, just so I could go back if I needed! And copied my configurations exported using the migration tool into its place.

You can then run the PackageDeployer for whatever version of USD you are installing. Opt to install the basis package and instead of the Microsoft sample solution you will get your USD solution.

If you need to move your USD configurations across CRM versions I hope you find this trick useful. J