Monday, April 18, 2011

Plugin Registration Console Application Tool for Microsoft Dynamics CRM 2011.

I like it when people create new tools that make my life easier. The purpose this one is to allow for easy registration and un-registration from a post-build or automated build environment, like TFS or Cruise Control.NET.  It is created by Johan K├╝stner, a name that is new to me.  Keep up the good work!

I recommend checking it out at CodePlex here: http://pluginregcrm2011.codeplex.com/

Here are is instructions:

This tool uses the API provided in the SDK of Microsoft Dynamics CRM 2011:

*Microsoft.Crm.Sdk.Proxy
*Microsoft.Xrm.Sdk

This tool is intended to be compiled by Visuals Studio 2010 within the .NET Framework 4.0 and is intended for Microsoft Dynamics CRM 2011..

The tool exists in a Visual Studio Solution called PluginRegistrationTool.sln and consists of a Console Application Project called PluginRegistrationTool.csproj and a Test Project called PluginRegistrationToolTestProject.csproj.

The tool has the option of using an AssemblyRegistration.xml XML file providing the input parameters with an AssemblyRegistration.xsd schema. The tool also has the option of being called directly from code, as indicated by the Unit Test called RegisterTest in the RegistrationHelperTest Class in the PluginRegistrationToolTestProject Test Project.

It is also possible to add the registered plugins or CWAs to a specific solution, which can be specified in the XML file. This is provided in the SolutionUniqueName node within the relevant Registration node. Each Registration can therefore be linked to a different Solution.

The AssemblyRegistration.xml and AssemblyRegistration.xsd files correlate with the AssemblyRegistration.cs Class in the project.

The AssemblyRegistration XML consists of the following:
  • A AssemblyRegistration node.
  • The AssemblyRegistration has a XrmServerDetails and Registrations node.
  • The XrmServerDetails node consists of a ServerAddress, OrganizationName and XrmCredentials node.
  • The XrmCredentials node consists of a Domain, UserName and Password node.
  • The Registrations node consists of one or more Registration nodes.
  • The Registration node consists of an AssemblyPath, AssemblySourceType, IsolationMode, Steps and SolutionUniqueName node.
  • The Steps node contains one or more PluginStep nodes.
  • The PluginStep node consists of a PluginName, UnsecureConfiguration, SecureConfiguration, Name, Mode, Rank, InvocationSource, PluginMessage, PrimaryEntity, SecondaryEntity, ImpersonatingUserDomainName, Stage, Deployment, Description and Images node.
  • The Images node contains one or more Image nodes.
  • The Image node contains an ImageType, EntityAlias, Attributes, MessageProperty and Merge node.
  • The Attributes node contains an array of strings.

The Console Application accepts the following parameters:
Parameter: Description:
/PATH: The full path to the XML containing the assembly array details.
/UNREGISTER: Only specify this switch to unregister the assembly array.
/Help or /?: Displays the help.


Remember that when you build the Solution in Visual Studio, the Console Application is created as an executable file called PluginRegistrationTool.exe in the the bin\debug or bin\release folder of the Project.

Examples of running the Console Application:
  • PluginRegistrationTool.exe /?
  • PluginRegistrationTool.exe /HELP
  • PluginRegistrationTool.exe
  • PluginRegistrationTool.exe /UNREGISTER
  • PluginRegistrationTool.exe /PATH=C:\AssemblyRegistration.xml
  • PluginRegistrationTool.exe /PATH=C:\AssemblyRegistration.xml /UNREGISTER

No comments:

Post a Comment