Compare customisations between two Dynamics CRM Organisations

Your TEST customisations are always the same as your PRODUCTION customisations, because no changes are made direct to PRODUCTION – right? Really? Are you sure?!

We all know that customisations shouldn't be made directly to a production server, but rather made in development and then promoted through the various instances. Sometimes there are circumstances where this rule has to be broken. Naturally, this can lead to customisations not be retro-fitted back into Development/Test servers.

If you want to check that both organisations are in sync, you can follow these instructions that uses the SolutionPackager tool that is shipped with the Dynamics CRM SDK.

  1. Download the Dynamics CRM 2011 SDK -
  2. Extract the zip to a folder such as C:\SDK
  3. Create folder for your customisations to live:
    1. C:\Customisations\Production
    2. C:\Customisations\Test
  4. Copy the 'solutionpackager.exe' from 'C:\SDK\bin' into 'C:\Customisations'
  5. Download the default solution for Production and Test and place in their respective folders.

    Settings->Customizations->Customize the System->Export Solution

    You could use another unmanaged solution of your choice – but it must be the same on both Production and Test
  6. In the C:\Customisations folder create a batch file named 'Extract Customisations.bat':

    solutionpackager /action:Extract /zipfile:Production\ /folder:Production\Solution

    solutionpackager /action:Extract /zipfile:Test\ /folder:Test\Solution


  7. Run the batch file by double clicking on it in Windows Explorer.
  8. You should now have a full set of folders representing all your entities, forms etc. in the Solution folders.
  9. All that remains is to compare the two using a visual compare tool such as Beyond Compare or WinDiff.Exe (203.33 kb).
    You can also use this technique to add your customisations to a source control system such as Team Foundation Server

Let's hope you don't find anything too major!

P.S. There is a tool to do this - but I find using the solutionpackager to be far easier and accurate.

Pingbacks and trackbacks (1)+

Comments are closed