Plug-in Registration

Description Article
Summary

A plug-in is registered through the Plug-in Registration Tool available in the CRM SDK package.

Description

How it works

A Microsoft Dynamics CRM server can host more than one organization, and therefore the execution pipeline is organization specific:

  • A virtual pipeline exists for every organization;
  • Plug-ins registered with the virtual pipeline can only process business data for a single organization;
  • A plug-in designed to work with multiple organizations must be registered with each organization’s execution pipeline

How to do it

1. Choose and connect to the desired Organization

2. Register new assembly indicating:

2.1. The plug-in assembly
2.2. The Isolation Mode (SandBox, None)
2.3. The Location where the assembly will be stored
2.4. The User’s context where the plug-in will will
2.5. The Execution Order

3. Register plug-in steps event indicating:

3.1. The system Message (Create, Update, Delete, etc)
3.2. The associated Entity (Account, Contact, etc)
3.3. The pipeline Stage (Pre-Validation, Pre-Operation, etc)
3.4. The Execution Mode (synchronous, assynchronous)

Database, Disk or GAC ?

A Plug-in can be registered in diferente locations. Currently, the CRM community suggers that Database is the best location to register a Plug-in, due to:

  • Unneed to interrupt CRM service(s) and IIS to update a database assembly (CRM On-Premises only)
  • Simplified Organization Backup / Restore: Database backup is not enough (all the custom assemblies registered in the GAC or in disk is also required)
  • Disk assemblies will not support multiple versions
  • All assemblies are consolidated into a single place
  • Sandbox and CRM Online only support database assemblies

Refer to this article for details

References

[1] Refer to this article for detailed description of how to use the Plug-in Registration Tool