Peter Linke
Jan 26, 2016 | Last updated: Jul 6, 2022
Expert articles | 4 min read

In this blog post, we will talk about one of the most common issues seen in CRM customization: A customer realizes that he doesn’t need several fields anymore, or that they must be substituted with other ones. However, the Microsoft concept does not cover removals during solution importation.

Fields removed in the development system remain unchanged in the target system. These fields are garbage data. Usually, they are marked with zzz_ or (obsolete) in the display name. This data can even cause serious problems. For example, if a deleted field will be created under a new name but under a different type (it happens frequently that a description field suddenly must be substituted with a picklist), the import in the target system will fail. The CRM system notes that the field already exists and that its type doesn’t fit. This causes the import process to be interrupted.

Step by step: how to remove obsolete fields in Microsoft CRM

If you want to delete these fields permanently, you can use a small trick. If you don’t want to lose the existing data in the productive system, you will need a holding solution that includes all the re-utilized entities/fields. Subsequently, you can easily uninstall the managed solution (Base_1.0). All fields and data from Base_1.0 will be uninstalled and deleted except everything that is covered by the holding solution. And now, you can install the clean solution (Base_2.0). You only have to uninstall the holding solution, and then you receive a clean system completely free from obsolete fields.

  • To create a holding solution, one should simply use the renamed Base_2.0 Solution. To do this, you just need to export the Base_2.0 solution in a separate folder. Then, extract and open the “solution.xml” with an editor.
Holding solution in Microsoft CRM
  • There, directly at the top of the file, you will find the tag Base_2.0; the new name should be entered there, saved and packed into the solution zip package again. For safety reasons, you can rename the solution zip into the holding solution, and our holding solution is completed!

 Base 2.0 export

 create the Hold

install the Hold

 uninstall Base 1.0

 uninstall Base 2.0

 uninstall Hold


  • Attention: editing in solution.xml is not supported by Microsoft and is done at your own risk. In this case, we will consider it just a small detail, as it has already been tested and carried out multiple times.
Schematic sequence of steps to delete obsolete fields in Microsoft CRM

Would you like to restore deleted records from your CRM system? In this article you’ll learn all about it.