Download tools from NuGet


Unsure about entity vs. table? See Developers: Understand terminology in Microsoft Dataverse.

You can download tools used in code development from NuGet using the PowerShell script found below. These tools include:

Tool NuGet Package
Code Generation tool CrmSvcUtil.exe Microsoft.CrmSdk.CoreTools
Configuration Migration tool DataMigrationUtility.exe Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf
Package Deployer PackageDeployer.exe Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF
Plug-in Registration tool PluginRegistration.exe Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool
SolutionPackager tool SolutionPackager.exe Microsoft.CrmSdk.CoreTools

Download tools using PowerShell

You can download all SDK tools using the PowerShell script provided below. Note that this script works with the version of Windows PowerShell that ships in Microsoft Windows 10. The script does not presently work with cross-platform versions of PowerShell based on .NET 5 or later (formerly .NET Core).

  1. In your Windows Start menu, type Windows Powershell and open it.

  2. Navigate to the folder you want to install the tools to. For example if you want to install them in a devtools folder on your D: drive, type cd D:\devtools.

  3. Copy and paste the following PowerShell script into the PowerShell window and press Enter.

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    $sourceNugetExe = ""
    $targetNugetExe = ".\nuget.exe"
    Remove-Item .\Tools -Force -Recurse -ErrorAction Ignore
    Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe
    Set-Alias nuget $targetNugetExe -Scope Global -Verbose
    if (-not (./nuget source | Where-Object { $_ -like "**"})) {
      .\nuget sources Add -Name -Source
    ##Download Plug-in Registration tool
    ./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .\Tools
    mkdir .\Tools\PluginRegistration
    $prtFolder = (Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool.'}).Name
    Move-Item .\Tools\$prtFolder\tools\*.* .\Tools\PluginRegistration
    Remove-Item .\Tools\$prtFolder -Force -Recurse
    ##Download CoreTools
    ./nuget install  Microsoft.CrmSdk.CoreTools -O .\Tools
    mkdir .\Tools\CoreTools
    $coreToolsFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.CoreTools.'}
    Move-Item .\Tools\$coreToolsFolder\content\bin\coretools\*.* .\Tools\CoreTools
    Remove-Item .\Tools\$coreToolsFolder -Force -Recurse
    ##Download Configuration Migration
    ./nuget install  Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf -O .\Tools
    mkdir .\Tools\ConfigurationMigration
    $configMigFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf.'}
    Move-Item .\Tools\$configMigFolder\tools\*.* .\Tools\ConfigurationMigration
    Remove-Item .\Tools\$configMigFolder -Force -Recurse
    ##Download Package Deployer 
    ./nuget install  Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF -O .\Tools
    mkdir .\Tools\PackageDeployment
    $pdFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf.'}
    Move-Item .\Tools\$pdFolder\tools\*.* .\Tools\PackageDeployment
    Remove-Item .\Tools\$pdFolder -Force -Recurse
    ##Remove NuGet.exe
    Remove-Item nuget.exe    
  4. You will find the tools in the following folders:

  • [Your folder]\Tools\ConfigurationMigration
  • [Your folder]\Tools\CoreTools
  • [Your folder]\Tools\PackageDeployment
  • [Your folder]\Tools\PluginRegistration

To get the latest version of these tools, repeat these steps.

See Also

Developer tools
Visual Studio and the .NET Framework
Generate early-bound classes for the Organization service
Create extensions for the Code Generation tool
Browse the metadata for your organization
Deploy packages using Package Deployer and Windows PowerShell
Register a plug-in