unmanaged solutions gotcha

Whilst watching the partner training on solution management, it went into detail about managed and unmanaged solutions.

The trainer said if you if you  install an unmanaged solution if you cannot roll back the changes made to your CRM system.

This is an important point because once you install a managed solution you will have to manually remove all the changes it has made, this will include deleting the entities, changes to system entities and all the other things it has changed.

Managed solutions (think read only) will remove all the changes it has made if you delete it.

This means you can roll back the changes and remove it easily if you decide you don’t want the managed solution.

 

 

CRM plugin suddenly stopped working

A very unusual problem popped up this week and I have had something similar before, so I thought I would blog it down.

one minute my plugin was working fine and then the next day without anyone changing anything it suddenly stopped working.

I looked in the logs and found it there were some odd errors mentioned security rights but nothing obvious.

 

We then changed the registration of the plugin to another user and then it we found it worked.

what was going on.

After a bit more poking around we found that my users password had changed and the server had cached my old user details (I hadn’t logged off the server, tut tut) and it was basically a password conflict issue.

 

I have also seen problems where a password expires after 30 days, especially with users on servers.  It’s something to look out for if you have a mysterious sudden not working problem.

CRM – Plugin Registration frustrations

 

I was brought onto a project to make a small change to a plugin, it should have only taken a few hours/half a day and then it would have been done.

After I figured out how everything worked, what they actually wanted me to change.  I made the change and it was fairly straight forward but then it came to registering the plugin.

This plugin was registered on disk? It also used 3 other DLL’s.

After googling a bit, I found out that DLL’s have to be registered in the GAC.  More googling and I found this could be done using the Visual Studio command line tool.

This is like the line I used

gacutil /i AssemblyFileName.dll

 

I managed to register the workflow plugin ok and then I had to rewrite the actual plugin interaction within CRM.  I registered the DLL’s in the GAC.  I then restarted IIS and stopped and started the CRM async service.

 

BUT…..

 

The original workflow file wasn’t using the new version, CRM still had a link to the old version.

What I found was we had to actually replace the dll file which was held

C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly

Even though I had unregistered the old workflow and then registered a new one but CRM was still linking to the old version.

When I registered the Workflow dll, I had copied it to the server but put in the temp folder and then registered it.

It was only once I deleted the workflow dll in

C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly

which I had to do by stopping IIS for a bit and then registered it from that directory.

 

This took a long time to figure out but I (with help from others) finally got to the bottom of it.