Managed to Unmanaged – Kids don’t try this at home!
Gayan Perera, 02 October 2012
I recently demonstrated how you can convert a managed solution into an unmanaged one at TechED 2012. If you missed it, catch it on Channel9 (http://channel9.msdn.com/Events/TechEd/NewZealand/TechEd-New-Zealand-2012/DYN401).
Couple of things to note when using this method; once you run this SQL script your CRM org will be somewhat crippled, therefore import your current organization into a clean virtual environment, then run this script and export as unmanaged into another development environment then use that as your base.
The reason for the crippling behaviour is there is a table called SolutionComponentBase which records dependencies between solutions.
Here are the steps you need to follow in order to convert a managed solution into an unmanaged one.
1. Setup a new virtual environment or create a new CRM 2011 organization
2. Import the managed solution you want to convert to unmanaged OR if you don’t have the managed solution then restore/import a copy of your current organization into the virtual environment
3. Run the SQL script below on the organization you just restored/imported/created NOTE: change the 4th line in the SQL script to match the unique name of the managed solution
4. Go into Settings > Customizations > Solutions > Export the solution as Unmanaged
5. Save the zip file somewhere and extract it to a folder
6. Go into the folder and open the solution.xml
7. Scroll to the bottom, you’ll see lots and lots of MissingDependency elements, remove all of them and self-close the MissingDependency tag
8. Re-zip the content
9. Upload this zip file onto a development environment where it’ll become the base. Once you have this you can export as managed or unmanaged then re-import into your live environments
*Image from http://screenshots.en.sftcdn.net/en/scrn/40000/40234/3d-matrix-corridors-screensaver-2.jpg