Plug-in Registration Tool 2.1

I have made some minor upgrades to the Plug-in Registration v2.0 tool that is included in the Microsoft CRM 4.0 SDK download or downloaded from Code Gallery.

The following features were added for making the developer’s life easier.

1. Support for https:// in the tool

The Connections Grid now accepts a Discovery Service server name in one of the following formats.

a. https://myMachine

b. mymachine

c. http://mymachine

When making web service calls to the https:// servers, the current logic blindly accepts all the certificates. The program trusts the https:// endpoint that you provided to the tool. It does not verify if the certificate is Expired or if it is from VeriSign etc. You could change the implementation of the logic in the code.

2. Support to change the endpoint returned by the DiscoveryService Web service

Sometimes due to incorrect configuration the SDK endpoint returned by the discovery service is incorrect. So I made modifications to the tool to allow you to change the endpoint that is returned by the discovery service before making any calls to the CrmService Web service.

3. Support registering images for a subordinate entity for Merge

The Merge request involves 2 entities, a parent entity and a subordinate entity. Inside the plug-in you might want to Plug-in Registration Tool 2.1get the image of both the parent and subordinate entities. Now, in the plugin registration tool 2.1, when you register an image for Merge, a dialog is displayed that states “Do you want the image for Parent or Subordinate entity?” You can now register for both.

4. Plugin Registration in IFD/SPLA

IFD or SPLA installations do support plug-ins. You can now use the tool to register a plug-in on the Microsoft CRM server using AD authentication. You will need the DeploymentAdmin privilege to register a plug-in just like you would for an on-premise installation.

5. Works with Visual Studio 2008

6. Restrict image registration for a Create pre-event and Delete post-event

Images are snapshots of the entity’s attributes at the corresponding stage in the pipeline. When you look at the CreateRequest, a plug-in registered for a pre-event on Create gets fired before the Create platform operation occurs. For example, the plug-in is fired before the entity is created in the system. So it doesn’t make sense to register the plug-in step for a pre-event image. The new version of the tool doesn’t allow that image registration.

Similarly for post-event Delete step, we don’t have an entity after a Delete operation, so it doesn’t make sense to support registering for a post-event image.

You can download the latest version of the Plug-in Registration tool (v2.1) at Plugin Code Gallery

Thanks for the feedback on prior versions of the tool

Ajith Gande

Comments (7)

  1. Anurodh says:

    Can someone tell me what excatly the image thing is used for and what functionality it server in plugin registration. Please email me at, i d really appreciate tat.

  2. Ajith Gande says: explains what an image is and why you need it.

    Basically treat it as snapshot of entity

  3. Sven Latzel says:

    Do anyone know where I have to register plugins when there is a server with platform role and one with application role.

  4. Albert Han says:

    can anyone advise what is the minimum credential required to register the plug-in, I have both local admin for the CRM server and System Admin for the CRM system, but plugin registration always failed with error message about insufficient permission for discovery service. Even given Deployment admin, dbo for MSCRM_CONFIG and ORGNAME_MSCRM, still failed. Current the only possible credential is Domain Administrator which really sound crazy to me..!!

  5. Jose M. says:

    Hi all.

    When trying to register a plugin I receive the following error :

    Unhandled Exception: System.IO.InvalidDataException: Assembly name prueba pluging, Version=, Culture=neutral, PublicKeyToken=53f7cc32fe1d0174 cannot be parsed.

      at PluginRegistrationTool.AssemblyReader.RetrieveAssemblyProperties(Assembly assembly, String path) in C:Certificacionsdk-20090115sdktoolspluginregistrationAssemblyReader.cs:line 164

      at PluginRegistrationTool.AssemblyReader.RetrievePluginsFromAssembly(String path) in C:Certificacionsdk-20090115sdktoolspluginregistrationAssemblyReader.cs:line 55

      at PluginRegistrationTool.AssemblyReader.RetrievePluginsFromAssembly(String path)

      at PluginRegistrationTool.RegistrationHelper.RetrievePluginsFromAssembly(String pathToAssembly) in C:Certificacionsdk-20090115sdktoolspluginregistrationRegistrationHelper.cs:line 49

      at PluginRegistrationTool.PluginRegistrationForm.btnLoadAssembly_Click(Object sender, EventArgs e) in C:Certificacionsdk-20090115sdktoolspluginregistrationPluginRegistrationForm.cs:line 127

    I have been trying to find out through the internet but I didn’t succeed.

    Does anybody knows what I did wrong?

  6. Red says:

    I was getting this same error.  Did you sign your plugin?

Skip to main content