Friday, February 23, 2018

Where plugin Assembly get stored when get registered in MS CRM?



Recently I was looking for the answer for what happens when we develop any plugin and register it using the plug in registration tool and after few searches I easily found the below details about the same.
While registering plugin MS CRM provides tree options to where you want to plug in assembly deployed-
1.       Database: This is by default option as selected when you tries to register using plug in registration tool and also most commonly recommended and used. Because the get backed up with the database backup and get restored with database, no need to worry when deploying the organization while infrastructure change.
2.       Disk: When using this options it stores the plug in assembly under <crmwebroot>\server\bin\assembly
The Disk option is maintained mostly for backward compatibility with Microsoft Dynamics CRM 4.0.
3.       GAC : If your register your plugin assembly outside the Sandbox (meaning you are OnPremise) you can choose to deploy it to the GAC, in this case the advantage is that you take full advantage of the GACs versioning system, preventing conflicting versions of the same assembly if multiple versions are needed. The disadvantage is that the registration requires gacutil.exe and this can be an issue for some deployments.

In MSCRM all plugins related information like its name, content, createdBy, createdOn. ModifiedBy, ModifiedOn etc store in PluginAssemblybase Table. You can get it by below Query result :
select * from PluginAssemblyBase
Below are some column description of PluginBaseTable :

Column Name
Description
Name
Store name of Plugin
Source Type     
Where the Plugin registered
       0 -      Database
       1 -      Disk
       2 -      GAC
content
Store content of DLL


No comments:

Post a Comment

QueryExpression vs. FetchXML in MS CRM with C#

Microsoft Dynamics CRM (Customer Relationship Management) is a powerful platform that helps organizations streamline their business processe...