locked
Solution Import Failure Message: Cannot add a Root Component 'GUID' of type 29 because it is not in the target system

    Question

  • Hi all,

    Please refer to the error:

    Root Components import: FAILURE
    [2015-04-10 17:04:48.126] Process: w3wp |Organization:0937f109-45df-e411-80cf-0050560100db |Thread:   43 |Category: Exception |User: ac011cf7-ad36-405b-91cf-2155ca15efb1 |Level: Error |ReqId: d3924c06-ad4b-4d5e-a204-70f8170016e1 | CrmException..ctor  ilOffset = 0x30
    at CrmException..ctor(String formattedErrorMessage, Int32 errorCode, Object[] arguments)  ilOffset = 0x30
    at ImportRootComponentsHandler.GetSolutionRootsCollection(Boolean throwIfMissing, Boolean skipRibbonCustomization)  ilOffset = 0x209
    at ImportRootComponentsHandler.ImportItem()  ilOffset = 0x8
    at ImportHandler.Import()  ilOffset = 0x43
    at RootImportHandler.ImportAndUpdateProgress(ImportHandler ih)  ilOffset = 0x7
    at RootImportHandler.HandleNonMetadataHandlers(String[] ImportEntities, ImportHandler& ihForCurrentPath)  ilOffset = 0x33
    at RootImportHandler.RunImport(String[] ImportEntities)  ilOffset = 0x1D8
    at ImportXml.RunImport(String[] ImportEntities)  ilOffset = 0xE
    at ImportXml.RunImport()  ilOffset = 0x5BF
    at ImportXmlService.ImportSolutionSkipCapable(Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Byte[] customizationFile, Guid importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies, ExecutionContext context)  ilOffset = 0x46
    at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)  ilOffset = 0xFFFFFFFF
    at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)  ilOffset = 0x25
    at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  ilOffset = 0xCF
    at LogicalMethodInfo.Invoke(Object target, Object[] values)  ilOffset = 0x4F
    at InternalOperationPlugin.Execute(IServiceProvider serviceProvider)  ilOffset = 0x57
    at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)  ilOffset = 0x200
    at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    at Pipeline.Execute(PipelineExecutionContext context)  ilOffset = 0x65
    at MessageProcessor.Execute(PipelineExecutionContext context)  ilOffset = 0x1C5
    at InternalMessageDispatcher.Execute(PipelineExecutionContext context)  ilOffset = 0xE4
    at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)  ilOffset = 0x16E
    at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId, OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode)  ilOffset = 0x1F1
    at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x2D
    at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode)  ilOffset = 0x26
    at InprocessServiceProxy.ExecuteCore(OrganizationRequest request)  ilOffset = 0x34
    at PlatformCommand.XrmExecuteInternal()  ilOffset = 0xF6
    at ImportSolutionCommand.Execute()  ilOffset = 0x20
    at DataSource.ImportSolution(Byte[] customizationFile, Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Guid importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies, IOrganizationContext context)  ilOffset = 0x0
    at SolutionImportProcessPage.ImportSolution()  ilOffset = 0x123
    at SolutionImportProcessPage.ProcessRequestData()  ilOffset = 0x4A
    at SolutionImportProcessPage.ProcessAction(String action)  ilOffset = 0x92
    at AppUIPage.OnPreRender(EventArgs e)  ilOffset = 0xD
    at Control.PreRenderRecursiveInternal()  ilOffset = 0x54
    at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)  ilOffset = 0x6D3
    at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)  ilOffset = 0x3C
    at Page.ProcessRequest()  ilOffset = 0x14
    at Page.ProcessRequest(HttpContext context)  ilOffset = 0x33
    at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()  ilOffset = 0x18D
    at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)  ilOffset = 0x15
    at ApplicationStepManager.ResumeSteps(Exception error)  ilOffset = 0x10A
    at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)  ilOffset = 0x5C
    at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)  ilOffset = 0x16A
    at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)  ilOffset = 0x4B
    >Crm Exception: Message: Cannot add a Root Component 0ffbcde4-61c1-4355-aa89-aa1d7b2b8792 of type 29 because it is not in the target system., ErrorCode: -2147188705
    [2015-04-10 17:04:48.126] Process: w3wp |Organization:0937f109-45df-e411-80cf-0050560100db |Thread:   43 |Category: Platform.Sql |User: ac011cf7-ad36-405b-91cf-2155ca15efb1 |Level: Info |ReqId: d3924c06-ad4b-4d5e-a204-70f8170016e1 | BusinessProcessObject.ExecuteNonQuery  ilOffset = 0x28

    I am getting this coming up in the error log when I attempt to import an unmanaged solution.

    After searching on google Type 29 refers to a workflow.

    I go into the source system and query the database by the GUID and discover that it is actually a Business Process Flow called 'Phone to Case Process'. 

    I do not have this process in my target system as I deleted it.

    Looks like this is one of the out of the box ones. I don't think we we have changed this one much.

    What does this mean and what should I be looking for??

    Anyway how do I remove this offending process from the unmanaged solution xml file and attempt to re-import it? 

    It doesn't look like I can generate the solution again without the offending workflow/process..

    Friday, April 10, 2015 7:42 AM

All replies

  • I managed to resolve this issue after looking at this thread:

    https://social.microsoft.com/Forums/en-US/fddff17f-1cca-4d33-a666-60c08ad76b0c/crm-2011-import-failure?forum=crmdevelopment

    Just modify both solution and customizations xml by searching for the guid and removing the root component

    Saturday, April 11, 2015 11:59 AM
  • In case anyone else has the same issue I did, here is why I was getting this and what I did to fix it.

    I was getting a failure on solution import with ("Cannot add a Root Component {guid} of type 60 because it is not in the target system. I used the following post to figure out what the type 60 was: _https://community.dynamics.com/crm/f/117/t/70370. In my case type 60 was "System Form". However, in my case, the guid was NOT IN the customizations.xml file. Also, by just deleting these lines from the xml files, you will encounter the same issue if you export the solution again.

    Once I identified that this was a form, I opened the form editor for another unrelated form and then pasted the guid from the error message into the url for the form editor. This allowed me to identify which form was the culprit. Come to find out it was a form for an entity that WAS NOT in the solution! This threw me for a bit of a loop. So I added the entity for the offending form to the solution, and when I was selecting the entity components to include, sure enough, the offending form was not visible to add (suggesting that the form was already included in the solution, even though the entity was NOT included in the solution!). I added the other forms for this entity, and then once the entity was included in the solution, the offending form showed up. I removed the forms individually from the solution and then removed the entity from the solution and subsequent exports/imports work as expected.

    Important to note that the offending entity/form were included temporarily into this solution. Somehow when I removed that entity from the solution, traces of it were still in the xml files.

    Wednesday, November 2, 2016 9:07 PM
  • Thank you for the explanation - I got the same error, after reading your post I created a new solution from the source system and everything went fine. Your diagnosis that "Somehow when I removed that entity from the solution, traces of it were still in the xml files" seems to be on point.

    Infusion | xrm2011.wordpress.com | @fantocci

    Friday, November 4, 2016 6:25 PM
  • Thank you Rich, this helped me out. I was doing the XML edition but was tired of it, and adding the entity and removing the components one by one fixed the problem.

    Thank you!!


    Dynamics CRM Certified Consultant (MB2-631,632,633)

    Tuesday, February 28, 2017 2:36 PM