PowerShell wrapper for CDS Package Deployer

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name Microsoft.Xrm.Tooling.PackageDeployment.Powershell

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name Microsoft.Xrm.Tooling.PackageDeployment.Powershell

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More



© 2020 Microsoft Corporation. All rights reserved

Package Details


  • Microsoft Common Data Service Team


Get-CrmPackages Import-CrmPackage


This module has no dependencies.

Release Notes

Current Release:
Resynced to current SDK baseline
Added support for unified packaging of Finance and Operations Assets.
Added initial support for several new features of package deployer around unified packaging for the power platform and keyvault intergration.
 This support requires that you base64encode the settings file ( by solution ) and pass string as a property in the /Settings: of the Package Deployer client.
 The format to use is %solutionunqiuename%_deploymentsettings=%base64string%
 Multiple settings can be passed by using the Key=Value| format.
No releveant changes.
CMT: Corrected missing support for team membership type for AAD connected Teams.
Fixed a issue where solution stage complete event was not being raised on error of first solution.
Added support for solution template system.
Corrected an issue in the Assembly Resolution logic to prevent a possibility of incorrect type name parsing.
Added support for inmemory log capture for package deployer and CMT
Corrected an issue with CMT lookup resolution that would prefer the display name over the ID of the target of the lookup.
Corrected an issue with CMT where a failure to import would occur if, during the decision process for update vs insert, an existing record was not found by ID and the Name field of the record was null
This would only impact default search patterns.  Entities that defined custom searchs would not be impacted.
Fixed an issue with Batch mode import that is caused by invalid guids being hand edited into datafiles.
Fixed an issue where CMT would prefer ID/Name over comparison keys when precaching data for comparison.
 Fix in Data import to compensate for Import files created during a window of time where new virtual fields generated by CDS were incorrectly identified as valid fields.
  This issue would cause schema validation to fail during import of complex data for some types of attributeOf type fields.
 Up-taking fixes for Sovereign cloud discovery connectivity for login controls
 Fixed a bug in runtime settings parsing that would mis identify a = in the value as a key value separator.
 Fix for an issue where data import could hang without error
 Fix for an issue where importing business units that included a lookup for their own team (looped back to the entity) would not be populated on update.
 Fixed a general issue were related LookUp IDs that were discovered in the target system were not properly linked.
 Behavior Change: when using BatchMode, Create will always include the ID of the record from the source system, even if not explicitly included as a field in the exported system.
Fix for an issue reported where related objects were not being correctly identified by name and thus not correctly linked to importing records
This only impacted imports where the related entity did not have comparison keys
Modified Logging support in Powershell module to push logs more actively.
Speculative fix for issue where long running PD Powershell jobs seem to hang when running in PowerShell client.
Updates to internal architecture of PD.  
Corrected a possible bug in solution install leg that would result in a "Null Object" Error
Added in memory configuration parsing logic
Optimized dependency checking logic
Cleaned up extra lines in logging output.
Adding Logging for time taken during configuraiton parsing to aid in performance info.
Uptook New CDS SDK drop.
Updated the Import-CrmPackage cmdlet to accept the output of the Get-CrmPackage cmdlet.
This will allow a used of the powershell module to use Get-CrmPackage to find the package that they want, then pass that package info directly to Import-CrmPackage.
   Fixed an issue preventing logs from being generated correctly,  Logs should once again write to the log directory
   Added Improvements to Async solution import logic
   Updated for current xrm sdk
Includes updates from the CMT.
ADAL 3.19+ is now required for this module.  ADAL 2.x clients will need to be updated to use ADAL 3.x+
Added support for France and New US Geos
Added new behavior to return the full login error when initial connect fails in LastException.
Fixed https activation issue introduced by .net 4.8. - This should no longer require http activation to be enabled on windows.
Fixed issue where a long running cloned connection loses its access token.
Logging Updates
Added support for forcing all packages to run Sync mode, regardless of how a given package is configured.
Modified RaiseFail event for RaiseFail generated from the package.  New behavior will cause PD to stop with an overall failure. - (Nuget-
Added native support for handing throttling messages from server.
Improved handling of retry logic for blocked imports due to concurrent metadata import


NOTE: Notes Below are synced to Nuget Release Found here:
Correcting Dependency Info on Package
Fixed bug in CrmServiceClient which would cause some OnPrem connections to fail with an error "Item already added to List"
Minor Perf Improvements
Updated to include Fixed version of CrmServiceClient and login control for new US Geo ( US Gov High )
Added support for Preferring Affinity with a given node to improve cache hit success rate.
Fixed a user reported issue that would cause an import patch to fail due to being misapplied.
Fixed a user reported issue that would cause the incorrect version of a solution to be imported under some circumstances during update.
Added better error detection for failed Async Jobs when using Async Solution Import.
Major updates to error logging to make logs more concise and useful.

Corrected an issue which would occur while importing a package that contained an upgrade for a deployed solution, where a prior version upgrade had failed leaving a holding solution. The system will now attempt to apply the current holding solution, and upon success, apply the new upgrade contained.
Picked up updated CrmServiceClient (Microsoft.Xrm.Tooling.Connector)
Corrected use of strong types inside Package Deployer to allow it to work properly with packages that also include overlapping strong typed objects.
Corrected a case where Async Solution Deployment could fail and not be correctly caught by PD.
Corrected a spelling issue on the return of Get-CrmPackages,  Property PackageInfo.PacakgeAssemblyLocation was renamed to PackageInfo.PackageAssemblyLocation
Updated install flows to more correctly trigger failures on failures within user code or data import.

UseAsyncForSolutionImport - added to commandlet
This setting controls the default behavior of the import operations for Package Deployer.
If set to true, Package deployer will attempt to use an Async Pattern for all solution operations where possible to do, given the server configuration.
The default setting for this is false ( sync mode )

Importconfig.xml - Solutions node updates.
Added requiredimportmode as an option to force an Async or Sync import behavior for a given solution.
This includes, upgrade or new install.
Valid settings for this property are :
async -  Requires the Import of this solution to be done in an async manner if the server supports it.
sync - Requires the import of this solution to be done in a sync manner if the server supports it.
Default behavior follows the default setting for the Package Deployer Core Process.
Updated with Xrm.Tooling.Connector support
Added new dependencies for Xrm.Tooling.Connector.dll
Fixed issues that caused unhandled exceptions to be thrown when a package resulted in an error.
Added new notifications in logs and UX for faults (where applicable).
Added logic to detect stuck solution import and abort the import process
Fixed a bug in Configuration Migration tool Lookup processing logic that was causing incorrect linking where the data set includes records that require related lookup records that share the same default name.
9.0 Initial Release
Breaking Change!
Refactor of this package to support module invocation instead of assembly registration. This is done to support direct inclusion from nuget by ALM \ SDL tasks.
To register module, run the RegisterXRMPackageDeployment.ps1 -
Initial release


  • Microsoft.Xrm.Tooling.PackageDeployment.Powershell.nuspec
  • Azure.Core.dll
  • Azure.Identity.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.PowerShell.dll-Help.xml
  • System.IO.dll
  • System.Runtime.InteropServices.dll
  • CrmLibraries.dll
  • System.IO.FileSystem.dll
  • System.Runtime.InteropServices.RuntimeInformation.dll
  • Microsoft.ApplicationInsights.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.Powershell.psd1
  • System.IO.FileSystem.DriveInfo.dll
  • System.Runtime.Numerics.dll
  • Microsoft.Azure.KeyVault.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.Powershell.psm1
  • System.IO.FileSystem.Primitives.dll
  • System.Runtime.Serialization.Formatters.dll
  • Microsoft.Azure.KeyVault.WebKey.dll
  • Microsoft.Xrm.Tooling.Ui.Styles.dll
  • System.IO.FileSystem.Watcher.dll
  • System.Runtime.Serialization.Json.dll
  • Microsoft.Bcl.AsyncInterfaces.dll
  • Microsoft.Xrm.Tooling.WebResourceUtility.dll
  • System.IO.IsolatedStorage.dll
  • System.Runtime.Serialization.Primitives.dll
  • Microsoft.Crm.Sdk.Proxy.dll
  • netstandard.dll
  • System.IO.MemoryMappedFiles.dll
  • System.Runtime.Serialization.Xml.dll
  • Microsoft.Deployment.Compression.Cab.dll
  • Newtonsoft.Json.dll
  • System.IO.Packaging.dll
  • System.Security.AccessControl.dll
  • Microsoft.Deployment.Compression.dll
  • PluginProfiler.Library.dll
  • System.IO.Pipes.dll
  • System.Security.Claims.dll
  • Microsoft.Extensions.Caching.Abstractions.dll
  • PluginProfiler.Plugins.dll
  • System.IO.UnmanagedMemoryStream.dll
  • System.Security.Cryptography.Algorithms.dll
  • Microsoft.Extensions.Caching.Memory.dll
  • System.AppContext.dll
  • System.Linq.dll
  • System.Security.Cryptography.Csp.dll
  • Microsoft.Extensions.DependencyInjection.Abstractions.dll
  • System.Buffers.dll
  • System.Linq.Expressions.dll
  • System.Security.Cryptography.Encoding.dll
  • Microsoft.Extensions.Logging.Abstractions.dll
  • System.Collections.Concurrent.dll
  • System.Linq.Parallel.dll
  • System.Security.Cryptography.Primitives.dll
  • Microsoft.Extensions.Options.dll
  • System.Collections.dll
  • System.Linq.Queryable.dll
  • System.Security.Cryptography.ProtectedData.dll
  • Microsoft.Extensions.Primitives.dll
  • System.Collections.NonGeneric.dll
  • System.Management.Automation.dll
  • System.Security.Cryptography.X509Certificates.dll
  • Microsoft.Identity.Client.dll
  • System.Collections.Specialized.dll
  • System.Memory.Data.dll
  • System.Security.Permissions.dll
  • Microsoft.Identity.Client.Extensions.Msal.dll
  • System.ComponentModel.Annotations.dll
  • System.Memory.dll
  • System.Security.Principal.dll
  • Microsoft.IdentityModel.Clients.ActiveDirectory.dll
  • System.ComponentModel.dll
  • System.Net.Http.dll
  • System.Security.Principal.Windows.dll
  • Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll
  • System.ComponentModel.EventBasedAsync.dll
  • System.Net.NameResolution.dll
  • System.Security.SecureString.dll
  • Microsoft.PowerPlatform.Tooling.BatchedTelemetry.dll
  • System.ComponentModel.Primitives.dll
  • System.Net.NetworkInformation.dll
  • System.ServiceModel.Primitives.dll
  • Microsoft.Rest.ClientRuntime.Azure.dll
  • System.ComponentModel.TypeConverter.dll
  • System.Net.Ping.dll
  • System.Text.Encoding.dll
  • Microsoft.Rest.ClientRuntime.dll
  • System.Configuration.ConfigurationManager.dll
  • System.Net.Primitives.dll
  • System.Text.Encoding.Extensions.dll
  • Microsoft.Uii.AifServices.dll
  • System.Console.dll
  • System.Net.Requests.dll
  • System.Text.Encodings.Web.dll
  • Microsoft.Uii.Common.dll
  • System.Data.Common.dll
  • System.Net.Security.dll
  • System.Text.Json.dll
  • Microsoft.Uii.Common.TypeProvider.dll
  • System.Diagnostics.Contracts.dll
  • System.Net.Sockets.dll
  • System.Text.RegularExpressions.dll
  • Microsoft.Uii.CrmEntityManager.dll
  • System.Diagnostics.Debug.dll
  • System.Net.WebHeaderCollection.dll
  • System.Threading.dll
  • Microsoft.Win32.Primitives.dll
  • System.Diagnostics.DiagnosticSource.dll
  • System.Net.WebSockets.Client.dll
  • System.Threading.Overlapped.dll
  • Microsoft.Xrm.Sdk.Deployment.dll
  • System.Diagnostics.FileVersionInfo.dll
  • System.Net.WebSockets.dll
  • System.Threading.Tasks.dll
  • Microsoft.Xrm.Sdk.dll
  • System.Diagnostics.Process.dll
  • System.Numerics.Vectors.dll
  • System.Threading.Tasks.Extensions.dll
  • Microsoft.Xrm.Sdk.Workflow.dll
  • System.Diagnostics.StackTrace.dll
  • System.ObjectModel.dll
  • System.Threading.Tasks.Parallel.dll
  • Microsoft.Xrm.Tooling.Connector.dll
  • System.Diagnostics.TextWriterTraceListener.dll
  • System.Reflection.dll
  • System.Threading.Thread.dll
  • Microsoft.Xrm.Tooling.CrmConnectControl.dll
  • System.Diagnostics.Tools.dll
  • System.Reflection.Extensions.dll
  • System.Threading.ThreadPool.dll
  • Microsoft.Xrm.Tooling.Dmt.DataMigCommon.dll
  • System.Diagnostics.TraceSource.dll
  • System.Reflection.Primitives.dll
  • System.Threading.Timer.dll
  • Microsoft.Xrm.Tooling.Dmt.ImportProcessor.dll
  • System.Diagnostics.Tracing.dll
  • System.Resources.Reader.dll
  • System.ValueTuple.dll
  • Microsoft.Xrm.Tooling.Dmt.MetadataHandler.dll
  • System.Drawing.Primitives.dll
  • System.Resources.ResourceManager.dll
  • System.Windows.Interactivity.dll
  • System.Dynamic.Runtime.dll
  • System.Resources.Writer.dll
  • System.Xml.ReaderWriter.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageCore.Azure.dll
  • System.Globalization.Calendars.dll
  • System.Runtime.CompilerServices.Unsafe.dll
  • System.Xml.XDocument.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageCore.dll
  • System.Globalization.dll
  • System.Runtime.CompilerServices.VisualC.dll
  • System.Xml.XmlDocument.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageCore.FinanceOperations.dll
  • System.Globalization.Extensions.dll
  • System.Runtime.dll
  • System.Xml.XmlSerializer.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase.dll
  • System.IO.Compression.dll
  • System.Runtime.Extensions.dll
  • System.Xml.XPath.dll
  • Microsoft.Xrm.Tooling.PackageDeployment.Powershell.dll
  • System.IO.Compression.ZipFile.dll
  • System.Runtime.Handles.dll
  • System.Xml.XPath.XDocument.dll

Version History

Version Downloads Last updated (current version) 387,419 12/15/2022 86,524 6/18/2022 229,189 11/4/2021 3,603,962 4/12/2021 704,441 10/25/2020 120,439 7/15/2020 130,073 7/10/2020 2,935 7/3/2020 281,162 5/19/2020 8,557 4/23/2020 210,465 4/3/2020 82,550 1/17/2020 7,708 12/12/2019 99,629 9/12/2019 347 7/18/2019 76,968 2/27/2019
Show more