Plugin Registration Tool es una utilidad específica de Microsoft Dynamics CRM (ahora Microsoft Dynamics 365) que se usa para registrar, administrar y depurar plugins. Los plugins en Dynamics CRM son componentes personalizados que se ejecutan dentro del contexto de la plataforma para extender o modificar su comportamiento estándar. Por ejemplo, puedes escribir un plugin que se active automáticamente cuando se crea un nuevo registro en CRM y realice ciertas operaciones, como enviar un correo electrónico o validar la información del registro. La herramienta de registro de plugins ayuda a los desarrolladores a subir y configurar estos plugins dentro de la aplicación CRM.
En este artículo vamos a ver como descargarlo usando Power Shell.
Lo primero que has de hacer es crear una carpeta en tu PC donde quieras almacenar la herramienta. Yo por ejemplo me he creado una en C:\Tools
Luego, abre Power Shell escribiendo PowerShell el el cuadro de Búsqueda de Windows y seleccionando la aplicación:
Y sitúate en la carpeta recién creada:
Escribe y lanza el siguiente script:
##
##Download Plugin Registration Tool
##
./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .\Tools
md .\Tools\PluginRegistration
$prtFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool.'}
move .\Tools\$prtFolder\tools\*.* .\Tools\PluginRegistration
Remove-Item .\Tools\$prtFolder -Force -Recurse
##
##Remove NuGet.exe
##
Remove-Item nuget.exe
Este script básicamente hace tres cosas:
1- Descarga de NuGet.exe: El script comienza definiendo la URL desde donde se descargará la última versión del ejecutable de NuGet y el destino local donde se guardará:
$sourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
$targetNugetExe = ".\nuget.exe"
Acto seguido, elimina una carpeta llamada Tools
, si existe, usando Remove-Item
. Este comando es robusto y no se detendrá aunque encuentre errores, gracias a -ErrorAction Ignore
:
Remove-Item .\Tools -Force -Recurse -ErrorAction Ignore
Luego, Invoke-WebRequest
se usa para descargar nuget.exe
desde Internet y lo guarda en el directorio actual:
Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe
Finalmente, se establece un alias global para nuget.exe
para que pueda ser ejecutado desde cualquier lugar en la consola de PowerShell:
Set-Alias nuget $targetNugetExe -Scope Global -Verbose
2- Descarga de la Herramienta de Registro de Plugins (Plugin Registration Tool): El siguiente segmento de código utiliza nuget.exe
para descargar una herramienta específica para Microsoft Dynamics CRM:
./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .\Tools
Esta línea instala la Plugin Registration Tool
que es vital para los desarrolladores que trabajan con Dynamics CRM para registrar y gestionar plugins personalizados.
Después de la instalación, se crea un nuevo directorio donde se moverán los archivos necesarios:
md .\Tools\PluginRegistration
Luego, utiliza Get-ChildItem
y Where-Object
para buscar el directorio correcto que contiene la herramienta descargada y mover los archivos a la nueva carpeta de PluginRegistration
:
$prtFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool.'}
move .\Tools\$prtFolder\tools\*.* .\Tools\PluginRegistration
Remove-Item .\Tools\$prtFolder -Force -Recurse
3- Limpieza: Finalmente, el script realiza una limpieza, eliminando nuget.exe
ya que no será necesario más allá de la configuración inicial:
Remove-Item nuget.exe
Una vez finalizado el script, ya tendrás la herramienta de Plugin Registration Tool en tu equipo. Es un ejecutable que no requiere instalación, así que simplemente ejecútala: