MSCRM 3.0 allows you to Export customizations from one system and Import those same customizations into another system.  This is handy should you have separate development and test environments and need to move configurations between the two.

You can also Export customizations such as the Site Map and ISV.Config file, perform required modifications, and Import the altered files back into the same system.

However, there are a few caveats to keep in mind when performing these processes:

  • Imported customizations are not automatically published, so you mush manually publish the changes.
  • If you are making sweeping changes to the system, i.e., making many entity modificiations, it is sometimes necessary to Publish those changes immediately after the Import, in order for the system to become fully aware of them.

I have seen instances where I was unable to edit an Entity after Import. I first had to Publish that Entity, then edit it.

  • If you export a large number of Entities ( or All of them ), the Import may fail with a SQL error if you choose to Import All Customizations. The work around it to just select all of the Entities then select More Actions, Import Selected Customizations.
  • Relationships between Entities are not maintained unless you export all of the related Entities together.For example, let's say you have a custom Entity called Jobs that is related to an Entity called Time.  If you Export Jobs from one CRM system, and Import it into another CRM system, the Relationship with the Time Entity will be lost, because the information was not Exported from the original CRM system. Even if you later Exported and Imported the Time Entity, the Relationship would still not exist.Exporting both Jobs and Time Entities will ensure that the relationships will be maintained during the process.
  • There are two Entities that, if improperly altered, can cause the MSCRM system to fail to load and/or function properly: Site Map and ISV.Config.  If you have made massive changes to the CRM system and are Importing the entire system, you wish way to perform a two-stage Import and Import those two Entities in the second stage.
  • If you import customizations including an ISV.Config file that contains errors, the import will succeed, but Microsoft CRM will not start, and the following error will be displayed “SiteMap error.â€?Workaround: In your browser, open
    http://[microsoft_crm_servername]/tools/systemcustomization/
    ImportCustomizations/importCustomizations.aspx

    and import a corrected ISV.Config file.
  • If you are moving your configuration from a Development CRM system to an existing Production CRM system and have changed the Type of an Attribute ( say from a nvarchar to an int ), you will need to delete the Attribute from the Entity on the Production CRM system before you attempt the Import. Otherwise, the Import will more than likely fail because the Import will not alter the Attribute Type and SQL Server will generate an error when it finds an nvarchar when it expects an int.

Note: I am going to assume that I don't need to tell you that you'll loose data when you delete the Attribute – so plan ahead for that.

 

 

7 Responses to MSCRM 3.0 Exporting and Importing Customization Notes

  1. Alex says:

    Is it just me or does importing customizations can sometimes take hours?
    I'm not getting errors during the customizations.xml import process but it just takes forever to complete. Sometimes I have only 5-6 custom entities and a few relationships and still, I could probably recreate all my customizations on the target CRM by hand
    again, and still finish before the automated import process. This is driving me nuts.

  2. mitch says:

    Alex,

    I haven't seen it take hours, but sometimes strange things do happen. I think a lot of it has to do with how busy the SQL server is.

    I would suggest running Performance Monitor to monitor the SQL Servers's processor and memory counters to see if it's maxing out or anything.

    The few times I have seen it take a while it will actually error out with a SQL error.

    Hope this helps.

    Mitch

  3. Alex says:

    I've seen this happen on every environment and every CRM 3.0 project so far.
    No other developer is working on the target CRM, no users as well. IIS and SQL are doing mostly nothing. And still it can take lots of time for each entity to import.
    Sometimes restarting the Deletion service can help a bit bot not dramatically.
    Seems strange there are no similar cases on the newsgroups, cause 'd really like to find the source of this problem. It's really annoying.

  4. ayazahmad says:

    I have recently upgraded my browser from IE6 to IE7. Now here comes the issue. Whenever I try to import my customizations, it shows the Import dialog box.

    Here is a fix for it.

    http://ayazahmad.wordpress.com/2007/01/22/problem-with-import-customization-in-internet-explorer-70/

  5. Dustin Miller says:

    Thanks Mitch, you saved me again with the link to the import site. I hadn't worked in 3.0 in a while.

  6. mitch says:

    Glad to hear it Dustin.

  7. himanshu says:

    Hi Mitch,

    I have imported 5-6 customisations with referntial relationship, but the problem is that i dont require them now, but now the referentional relationships between them are not getting deleted.

    I have removed the relationship attribute from the form but then form is giving error while publishing, so neither i am able to publish the changes nor i am able to delete these custom entites.

    Requires help, any input is appreciated.

    Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>