Dynamics CRM 2016 Missing Required Components

After upgrading to Microsoft Dynamics CRM 2016 (on-premise) importing a solution caused problems. After enabling tracing on the CRM-server I found that there where a few missing required components.

The Missing Required Components error

The following error was found in the error log file:

CrmException: Cannot add a Root Component 00000000-0000-0000-0000-000000000000 of type 20 because it is not in the target system.

The fix

I opened my solution and browsed to the Security Role component. Guess what? Somehow the “System Customizer” role was added as a record to the solution.

security-role

If you encounter any “Cannot add Root Component”- errors, you might want to look to the specified entity. Here is a list of all the components and their according component number. You can find these components from the solution.xml file, as found on CRMBuilds.

RootComponent type=”1″ is for a Entity
RootComponent type=”2″ is for a Attribute
RootComponent type=”3″ is for a Relationship
RootComponent type=”4″ is for a Attribute Picklist Value
RootComponent type=”5″ is for a Attribute Lookup Value
RootComponent type=”6″ is for a View Attribute
RootComponent type=”7″ is for a Localized Label
RootComponent type=”8″ is for a Relationship Extra Condition
RootComponent type=”9″ is for a Option Set
RootComponent type=”10″ is for a Entity Relationship
RootComponent type=”11″ is for a Entity Relationship Role
RootComponent type=”12″ is for a Entity Relationship Relationships
RootComponent type=”13″ is for a Managed Property
RootComponent type=”20″ is for a Role
RootComponent type=”21″ is for a Role Privilege
RootComponent type=”22″ is for a Display String
RootComponent type=”23″ is for a Display String Map
RootComponent type=”24″ is for a Form
RootComponent type=”25″ is for a Organization
RootComponent type=”26″ is for a Saved Query
RootComponent type=”29″ is for a Workflow
RootComponent type=”31″ is for a Report
RootComponent type=”32″ is for a Report Entity
RootComponent type=”33″ is for a Report Category
RootComponent type=”34″ is for a Report Visibility
RootComponent type=”35″ is for a Attachment
RootComponent type=”36″ is for a Email Template
RootComponent type=”37″ is for a Contract Template
RootComponent type=”38″ is for a KB Article Template
RootComponent type=”39″ is for a Mail Merge Template
RootComponent type=”44″ is for a Duplicate Rule
RootComponent type=”45″ is for a Duplicate Rule Condition
RootComponent type=”46″ is for a Entity Map
RootComponent type=”47″ is for a Attribute Map
RootComponent type=”48″ is for a Ribbon Command
RootComponent type=”49″ is for a Ribbon Context Group
RootComponent type=”50″ is for a Ribbon Customization
RootComponent type=”52″ is for a Ribbon Rule
RootComponent type=”53″ is for a Ribbon Tab To Command Map
RootComponent type=”55″ is for a Ribbon Diff
RootComponent type=”59″ is for a Saved Query Visualization
RootComponent type=”60″ is for a System Form
RootComponent type=”61″ is for a Web Resource
RootComponent type=”62″ is for a Site Map
RootComponent type=”63″ is for a Connection Role
RootComponent type=”70″ is for a Field Security Profile
RootComponent type=”71″ is for a Field Permission
RootComponent type=”90″ is for a Plugin Type
RootComponent type=”91″ is for a Plugin Assembly
RootComponent type=”92″ is for a SDK Message Processing Step
RootComponent type=”93″ is for a SDK Message Processing Step Image
RootComponent type=”95″ is for a Service Endpoint