With the upgrade of CRM 2011 to CRM 2013 the navigation didn't really suit what we wanted so we looked at doing an immediate update to improve the user experience.
We found by creating custom areas we could split our entities into a more usable style and by replacing some of our JavaScript with business rules meant we could provide a better experience to users on mobile. Where we did have issues though was with custom activities.
The upgrade to CRM 2013 appears to have a few bugs where custom activities are concerned. When a custom activity is created a field called "leftvoicemail" which is a Two Option type.
In CRM 2011 it looks like this
Dynamics CRM 2011 - Custom Activity |
In CRM 2013 it looks like this
Dynamics CRM 2013 - Custom Activity |
As you can see the field changes from "Managed" to "Unmanaged". This causes an error when you do an import as the following error is created:
"A managed solution cannot overwrite the OptionSet component
with Id=xxxx-xxx-xxx-xxx-xxxx which has an unmanaged base instance. The
most likely scenario for this error is that an unmanaged solution has installed
a new unmanaged OptionSet component on the target system, and now a managed
solution from the same publisher is trying to install that same OptionSet
component as managed. This will cause an invalid layering of solutions on
the target system and is not allowed."
To make matters worse you cannot delete this field as you will receive the error "Only custom fields can be deleted."
The only work around I found for this was to manually remove this field from the customizations.xml file.
For each custom activity in your solution you will need to find the following:
<attribute PhysicalName="LeftVoiceMail">
Delete everything including the above line and down to the matching </attribute> tag.
Another issue we had was with a relationship called <<custom entity name>>_mailbox_sendermailboxid. This occurred for each of the custom entities as well and again we had to remove this from the customizations.xml file.
Everything from <EntityRelationship Name="ixa_feedback_mailbox_sendermailboxid"> to </EntityRelationship>.
We have lodged a ticket with Microsoft in the hope they find a resolution as we would prefer not to have to do this hack for every update!