locked
Protecting my default unmanaged solution RRS feed

  • Question

  • Hi,

    I have an issue whereas I would like to force a managed solution first import to trigger the "Maintain customizations".

    The strategy in my company is to create a brand new CRM 2011 environment and import the organization from our CRM v4 on top of it. This allow us to keep every customizations we did in CRM 4. However, as I understand it, this put the imported customizations in an "unprotected" state. Meaning, they are part of the default solution.

    The problem comes when I get to our next step, which is to import a managed solution that is provided by our partner. I don't have the option to maintain existing customizations.

    I would like to know if there is any way to tell the CRM 2011 that his default solution is not to be tempered with ? That in a case of merge conflict, the default solution should be maintained.

    I had this idea that if I would be to produce a managed solution from the default solution and then import it back in the same CRM, it might actually tell the system to protect our customizations.

    Regards,

    Simon

    Thursday, March 1, 2012 1:41 PM

Answers

  • CRM will accept importing a managed solution if the customizations are allready present as unmanged. Note that I have not tried this but you should be able to do the following:

    • upgrade your CRM 4 (with data an customizations)
    • export all customization from that system as unmanaged
    • import that on a blank CRM organization
    • export the customizations from this second organization as managed
    • import the partner solution on the upgraded organization
    • import your managed export.

    This should upgrade the customizations in your original organization to managed allowing them to win the conflict. Importing the unmanaged soltuion of the partner solution may also work. But I have tried neither. In any case it is recommend to have backups of your database before performing these actions.


    Patrick Verbeeten
    www.patrickverbeeten.com
    www.wavextend.com

    Hello Patrick,

    I'd like to take the time to thank you for your help. This last post helped me design a successfull solution to my problems. In the end, I had to use a slightly different approach. Nonetheless, you helped me reach the definitive solution.

    Just to for your curiosity, I couldn't do the last step "import your managed export" as is. Since we had customized our partner solution, whenever I tried to import back on top of their managed installed solution, the CRM would complain that the publisher of the installed components was different from those included in my managed export. I had to spoof their identity and make the CRM believe that my solution package was indeed and update of our partner solution.

    Crazy I know, but it actually worked flawlessly.

    Regards, Simon

    • Marked as answer by Simon_DSF Wednesday, March 7, 2012 6:30 PM
    Wednesday, March 7, 2012 6:29 PM

All replies

  • Simon,

    What you can do to create a managed solution of your original customizations is to create a second organization which only contains your CRM 4.0 customizations and export it from there to your main organization.

    But I would like to explain somethings about how solutions function. Solution import in CRM is always additive. Meaning that if you have an organization with (unmanaged) customizations and import a managed solution on top of that, the new managed components will be added to your existing solution. A simpel example is form customizations, if both you and the managed solution have added fields to the form importing the managed solution will merge the two and now contain both the fields you added aswell as those added by the managed solution. Another example is modifications to a label of an entity or field, in this case I am not a 100% sure but CRM will keep the change that is applied last. If you import the managed solution as the last change (to that label) the label from the managed solution will win.
    The "Maintain customizations" or "Overwrite customizations" option you get when updating (importing an existing) solution only applies to customizations made on elements within the managed solution. Even with Maintain customizations CRM will still merge forms.

    I hope this information helps.


    Patrick Verbeeten
    www.patrickverbeeten.com
    www.wavextend.com

    Thursday, March 1, 2012 2:00 PM
  • Thanks Patrick.

    I understand the additive nature of solution and how it tries to merge components. My issues comes with all the non-merge components. We pretty much customized everything that is customizable in the CRM. For example , the system views of the contact entities have been customized by us. The managed solution from our third partner contains those views in their default microsoft un-custumized state. When I import their solution, it overwrites that view and bring it back to the default state.


    About organizations.

    What I understand from your reply is that after installing a brand new CRM 2011 environment I get a default solution. Then I import our company CRM v4 organization and it becomes the second solution in the CRM 2011 environment. Like a second layer on top of the default one. What I don't understand is why the CRM doesn't offer my to protect those customizations when I import our third party managed solution.


    What you can do to create a managed solution of your original customizations is to create a second organization which only contains your CRM 4.0 customizations and export it from there to your main organization.

    My problem is that when I create a solution in CRM 2011, it doesn't offer me a choice of organization. Same thing when I import back. As far as I can tell, there is just one organization in my CRM.

     

    • Edited by Simon_DSF Thursday, March 1, 2012 2:48 PM
    Thursday, March 1, 2012 2:43 PM
  • Yes with views you may indeed experience this replacement behavour. Unfortunatly there is no way to control this other than repeating the changes our using your own managed solution. When creating a managed solution the only option is to include an entity or not, CRM does not offer the option to include the entity but not the views to limit what will be overwritten on deployment.

    With regards to organizations. Creating a new organization is done on the CRM Server using the CRM deployment manager, if your are using CRM online or a hosted version you have to go another way to get a new organization. There is no need to install a new CRM server simply creating a new organization is exactly equivalent. On this organization import your CRM 4.0 customizations and export them as a managed solution. On your main organization import the partner solution and then your own solution. Now your solution will overwrite the changes (or default) provided by the partners solution.

    I do have an alternate option where I have an application which allows you to define most of the CRM metadata including views in excel and quickly apply these to CRM effectively providing a restore functionality for your changes (http://www.wavextend.com/en/Content/Products/CustomizationAssistant).


    Patrick Verbeeten
    www.patrickverbeeten.com
    www.wavextend.com

    Thursday, March 1, 2012 3:02 PM
  • Thanks again Patrick.

    We are indeed using the deployment manager on the CRM web server to import our CRM v4 organization. This is the first step we do after installing CRM 2011. A new organization is created with all our customization and our CRM v4 database is converted to CRM 2011 in the process.

    What you suggest would be to

    1. export a managed solution from the resulting organization (the one containing the data and the CRM 4.0 customization).

    2. Import our partner managed solution on the default Microsoft organization

    3. Import the result of step 1 on top of it. That would result on the default organization having our partner customization merged with ours. In that scenario, our customizations would win any merge conflict situation. That is indeed the desired result.

    However, what of data part of our CRM v4 database ? It would still be linked to the imported organization. The default Microsft would be an empty shell. Albeit a correctly formated empty shell.

     

    Thanks again for your quick answers,

    Simon

    Thursday, March 1, 2012 6:17 PM
  • CRM will accept importing a managed solution if the customizations are allready present as unmanged. Note that I have not tried this but you should be able to do the following:

    • upgrade your CRM 4 (with data an customizations)
    • export all customization from that system as unmanaged
    • import that on a blank CRM organization
    • export the customizations from this second organization as managed
    • import the partner solution on the upgraded organization
    • import your managed export.

    This should upgrade the customizations in your original organization to managed allowing them to win the conflict. Importing the unmanaged soltuion of the partner solution may also work. But I have tried neither. In any case it is recommend to have backups of your database before performing these actions.


    Patrick Verbeeten
    www.patrickverbeeten.com
    www.wavextend.com

    Friday, March 2, 2012 12:16 PM
  • CRM will accept importing a managed solution if the customizations are allready present as unmanged. Note that I have not tried this but you should be able to do the following:

    • upgrade your CRM 4 (with data an customizations)
    • export all customization from that system as unmanaged
    • import that on a blank CRM organization
    • export the customizations from this second organization as managed
    • import the partner solution on the upgraded organization
    • import your managed export.

    This should upgrade the customizations in your original organization to managed allowing them to win the conflict. Importing the unmanaged soltuion of the partner solution may also work. But I have tried neither. In any case it is recommend to have backups of your database before performing these actions.


    Patrick Verbeeten
    www.patrickverbeeten.com
    www.wavextend.com

    Hello Patrick,

    I'd like to take the time to thank you for your help. This last post helped me design a successfull solution to my problems. In the end, I had to use a slightly different approach. Nonetheless, you helped me reach the definitive solution.

    Just to for your curiosity, I couldn't do the last step "import your managed export" as is. Since we had customized our partner solution, whenever I tried to import back on top of their managed installed solution, the CRM would complain that the publisher of the installed components was different from those included in my managed export. I had to spoof their identity and make the CRM believe that my solution package was indeed and update of our partner solution.

    Crazy I know, but it actually worked flawlessly.

    Regards, Simon

    • Marked as answer by Simon_DSF Wednesday, March 7, 2012 6:30 PM
    Wednesday, March 7, 2012 6:29 PM