dynamics-crmdynamics-crm-online

Importing Unmanaged Solution from Dev does not remove Field from Form added in QA


In all environments, there is a field MXM_RemoveMe we want gone from the Account "Information" Form (one of the Account's OOTB Managed Forms, but of course we've customized it on our own a lot by now)

In Dev, I remove MXM_RemoveMe from the Account "Information" Form.

I put that Form in an Unmanaged solution in Dev, export and import into QA. Publish all.

Problem: but the "MXM_RemoveMe" field is STILL on the form in QA.

What could cause this? Do we have to manually remove fields from Forms in all environments? I don't think that's the case normally.

I've verified this behavior in a specific test after the fact. If I add a field to the Account form in QA... then export/import from Dev that Form (Unmanaged) WITHOUT the field... it still stays in QA! I encourage everyone else reading this to do this simple test themselves and see the same behavior I see.

How should this be handled/understood?


Solution

  • I think this is because the form itself is managed. The system simply adds fields to the form on import and does not simply overwrite unmanaged changes any more. In older versions of Dynamics CRM this did not work this way though.

    When you prefer to continue working with unmanaged solutions (I feel there are valid reasons to do so), a best practice would be to always copy managed forms first and modify, export and import the copy instead of it.

    The copy would be in its entirety an unmanaged form. Up to now I have never seen issues with those forms when imported in target environments in an unmanaged state.