Tuesday, March 6, 2012

Managing CRM 4.0 Plugins converted to 2011

As part of my 2011 upgrade from 4.0, I was able to setup a new 'clean' server this past week, and discovered something very strange that is a bit disconcerting. All of my 4.0 Plugins seemed to convert to 2011 OK, but for some reason if you try to manage/change them in the new 2011 Plugin Registration tool, you get a lot of errors.

As part of my 2011 upgrade project, I am re-writing all of my plugins that work with data, but I was leaving all the ones that created custom workflow items alone.  However, one of my earlier plugins had some auto-numbering code for entities that needed a number, and some custom workflow items.  So what I planned to do was to just un-register the steps that did the auto-numbering, and leave the other stuff alone.

When I went into the 2011 plugin registration tool, clicked the plugin and steps, clicked 'unregister'...and got a bunch of error messages.

Some research (i.e. Google searches) revealed that is was having trouble because it was compiled under 4.0, but the server was a new, clean 2011 server that had never had 4.0 on it.  SO the solution was to register some of the 4.0 assemblies in the GAC on the new server.

So you need to get these assemblies from a 4.0 server and register them on the 2011 server.

Note: After registering them, I also needed to reboot the server. 


gacutil /if System.workflow.activities.dll
gacutil /if Microsoft.crm.sdk.dll
gacutil /if Microsoft.crm.sdktypeproxy.dll



This seems to work, but really bothers me that I had to do this. It was not truly a complete upgrade from 4.0.  Granted, if I didn't have any plugins, this wouldn't be an issue, but I doubt there are too many deployments that don't have at least one.



No comments:

Post a Comment