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.
- Download the Dynamics CRM 2011 SDK - http://www.microsoft.com/en-gb/download/details.aspx?id=24004
- Extract the zip to a folder such as C:\SDK
Create folder for your customisations to live:
- Copy the 'solutionpackager.exe' from 'C:\SDK\bin' into 'C:\Customisations'
- 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
In the C:\Customisations folder create a batch file named 'Extract Customisations.bat':
solutionpackager /action:Extract /zipfile:Production\Default_1_0.zip /folder:Production\Solution
solutionpackager /action:Extract /zipfile:Test\Default_1_0.zip /folder:Test\Solution
- Run the batch file by double clicking on it in Windows Explorer.
- You should now have a full set of folders representing all your entities, forms etc. in the Solution folders.
- 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.