Asked by:
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 = 0x28I 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.
- Proposed as answer by Alejandro Cesetti Tuesday, February 28, 2017 2:35 PM
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.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