locked
contact is customized and published as managed solution now I can't uninstall the solution RRS feed

  • Question

  • I am looking for advise on how to package an ISV solution that requires the customization of the contact system entity. I want to export the solution which consists on many custom entites as well as a managed solution. Unfortunately, I included contact as part of the solution. Now there is apparently no way to unistall the managed solution because of my including contact customizations in the solution. I am so glad I am just in a test scenario at this point. I would have been very sad to learn this in a production environment.

    Ideally, I would like the contact form to revert to its uncustomized state once I uninstall the managed solution. Is this even possible?

    Thanks

    Mike


    Mike Agee
    Thursday, March 17, 2011 10:15 PM

Answers

  • Good news - I created customized alternate forms for the system entities like contact and account and once deployed as managed solution, I was able to successfully uninstall the solution. It removed all of my Xrm customizations.

    I was sure it would not work based on what I had read in other threads so this is very good news for others having similiar issue!!!

     

    Mike


    Mike Agee
    • Marked as answer by M.D.A Wednesday, March 23, 2011 10:44 PM
    Wednesday, March 23, 2011 10:44 PM

All replies

  • Hi M.D.A.

    It's a known problems when sort of unmanage referencing with buildin or manage solutions. When you select Delete solution you should have a screen with dependencies. Try to analyze it or paste it here.

    KG


    My Dynamics CRM Blog: http://bovoweb.blogspot.com
    Friday, March 18, 2011 1:29 AM
  • I can see the dependencies and I know what they represent in the system and how to manually address them, but what I was wanting to know, as it pertains to managed solutions, was using a managed solution going to permit clean removal of the solution from a clients machine. For example, say a client decides at some point they no longer want to use a particular vendor's customizations. It would have been the cats whiskers if simply removing the managed solution would have erased all traces of its existence - smart enough to unhitch the wagons from the system entities as well. My experience at this point says this is not the case and that much manual intervention may be required. Especially in those cases where system entities have been heavily customized in the solution.

     

    Thanks

    Mike


    Mike Agee
    Friday, March 18, 2011 1:52 PM
  • OK, I have removed all the form/view dependencies on the contact entity and now when I try to delete a 1:n relationship to one of my custom entities I receive the following:

     

    Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #3FB09F60Detail:
    <OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
      <ErrorCode>-2147220970</ErrorCode>
      <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
      <Message>System.Web.HttpUnhandledException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #3FB09F60</Message>
      <Timestamp>2011-03-21T13:26:25.1349395Z</Timestamp>
      <InnerFault>
        <ErrorCode>-2147160014</ErrorCode>
        <ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
        <Message>The 'Delete' operation on the current component(name='EntityRelationshipRole', id='89a10c67-cf50-e011-a7ab-00155d0a2200') failed during managed property evaluation of condition: 'Microsoft.Crm.BusinessEntities.IsComponentDeletionEnabledCondition'</Message>
        <Timestamp>2011-03-21T13:26:25.1349395Z</Timestamp>
        <InnerFault i:nil="true" />
        <TraceText i:nil="true" />
      </InnerFault>
      <TraceText i:nil="true" />
    </OrganizationServiceFault>

    I have googled this "IsComponentDeletionEnabledCondition'' term and really got no useful information.

    Is there a managed property that I might be missing related to this issue?

     

    Thanks

    Mike


    Mike Agee
    Monday, March 21, 2011 3:24 PM
  • Hello Mike -

    Can you send me your customization zip file and I can take a look?  bsimons at microsoft dot com 

    Thanks,

    Brandon

    Monday, March 21, 2011 5:18 PM
  •  

    Brandon:

    I believe the answer to my inquiry (based on further delving into snippets of info in the crm forums) is that components like relationships cannot be deleted individually but only through the process of uninstalling the managed solution. Unfortunately, I am unable to uninstall the managed solution since I am unable to remove those customizations like 1:n relationships created for the system entity 'contact' to a custom entity. It is a catch-22 that I am glad to be aware of before deploying this solution into customer environments. When one reads about the 'X' in Xrm there are limitations that need to be illuminated. We decided to modify a handful of system components rather than create our own entities (though we have many custom entities in the solution too) in order to take advantage of features not available to non-system entities out of the box related primarily to workflows, activities and email. We discovered these limitations in CRM 4 and so abandoned what I termed a complete Xrm solution. Now we are faced with a new set of consequences for hitching some our wagons to CRM system entities. I think the best we can do at this point is to at least to create new forms for these customized system entities to isolate our functionality from core system functionality at the UI level. As far as server side business logic in our solution we handle that through registration.

    Another reason to want our cake and eat it to so to speak is that what a beautiful idea to simply uninstall an Xrm solution and get back to a barebones system, schema-wise, simply by uninstalling the managed solution for the QA/Test environment. Not that hyper-drive images can't do much the same thing in our case, but the uninstall solution approach had additional advantages for us.

    And as I have stated before, a customer might like to remove all remnants of a 3rd party solution and I falsely presumed that managed solutions were the way to go in this matter, and if one's solution is a complete Xrm solution there is no reason to believe that it can't be uninstalled without ramifications (I think?)

    And since we have to go with the managed solution approach in order to be able to deploy beyond on-premise we will need to inform customers that once installed the schema is fixed going forward. Of course if they have had experience with other MS server products (sharepoint comes to mind) this might not seem unreasonable to them.

    Anyway thank-you for the offer, but I believe it would be a waste of your time.

    Mike


    Mike Agee
    Monday, March 21, 2011 7:27 PM
  • Mike, thanks for explaining your situation thoroughly. We are struggling with exactly the same thing. In my opinion it is almost impossible to build a solution without using 1 or more system entities. This will inevitable mean that a managed solution can never be uninstalled. I would like to know if this will be changed in the future or will it remain this way for ever?

    Kind regards,

    Bas

     

    Tuesday, March 22, 2011 1:44 PM
  • Good news - I created customized alternate forms for the system entities like contact and account and once deployed as managed solution, I was able to successfully uninstall the solution. It removed all of my Xrm customizations.

    I was sure it would not work based on what I had read in other threads so this is very good news for others having similiar issue!!!

     

    Mike


    Mike Agee
    • Marked as answer by M.D.A Wednesday, March 23, 2011 10:44 PM
    Wednesday, March 23, 2011 10:44 PM
  • That is good news Mike. I will try the same. I think I have to do this:

    1. copy the changed forms with the Save As functionality.

    2. Import default vanilla entities

    3. Export as managed and test

    Is this the same way you have done it?

    Thursday, March 24, 2011 9:05 AM
  • That is the approach I took exactly.

     

    -Mike


    Mike Agee
    Friday, March 25, 2011 1:28 PM
  • Hi

    I was looking for a similar solution i've installed a managed solution on Dynamics CRM 2011, but by now i couldn't be able to remove it because it says that the solution cannot be deleted because of one or more components. So i want to know if you can tell me how to reproduce what you've done to uninstall i'll appreciate so much your help.

    Regards  

    Thursday, April 28, 2011 11:02 PM
  • Well, I am back to my desk after a couple month hiatus. Hopefully you resolved this, but if you didn't, I would boil this down to NEVER CUSTOMIZE THE BASE FORM OF A SYSTEM ENTITY. You will need to create an alternate form for any system entity.

     

    Mike


    Mike Agee
    Wednesday, June 29, 2011 8:41 PM