Prefix Reserved
dotnet add package Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf --version                
NuGet\Install-Package Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf -Version                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf" Version="" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf --version                
#r "nuget: Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf,"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf as a Cake Addin
#addin nuget:?package=Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf&version=

// Install Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf as a Cake Tool
#tool nuget:?package=Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf&version=                

This package contains the following official Microsoft assemblies and has been authored by the Microsoft Common Data Service SDK team.
- Dynamics 365 Package Deployer

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated 28,575 2/24/2023 4,104 12/15/2022 18,172 6/18/2022 28,220 12/9/2021 11,140 11/4/2021 30,497 4/12/2021 15,934 10/25/2020 10,753 7/15/2020 954 7/10/2020 1,070 7/3/2020 2,663 6/10/2020 3,710 5/19/2020 3,976 4/23/2020 2,424 4/3/2020 10,662 1/17/2020 3,594 12/12/2019 10,987 9/11/2019 5,771 7/25/2019 893 7/23/2019 1,774 7/17/2019 9,189 5/22/2019 20,618 2/25/2019 4,408 2/7/2019 2,100 1/26/2019 8,072 10/24/2018 6,688 9/17/2018 5,160 7/6/2018 4,435 4/25/2018 12,285 11/15/2017 1,266 10/23/2017 2,585 8/29/2017 15,144 3/22/2017

These assemblies require application development using the Microsoft .NET Framework 4.6.2 or later.

         For information about downloading the tool, see
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.
Added Support for Deployment Settings generated from the pac CLI to be provided as part of package deployment.
     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.
Fixed Missing dependanices in package.
Support for Korea and Norway geos
CMT: Corrected missing support for team membership type for AAD connected Teams.
Internal fixes and updates.
Uptake of New SDK componets.
Added support for Updating Dates on insert to shift dates to Day of insert.
Added Support for New Import Async pattern for SolutionImport
Fixed a issue where an Error thown from Package code ( provided by customer ) caused an premature abort of Importing Solutions
CMT: Corrected an issue with the Teams entity that prevented the AAD Group Object ID imported.
Fixed a issue where solution stage 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
Added Telemtry support files to Nuget package
Added functionallity to interact and install Finance and Operations apps.
Added functionallity to override and modify Finance and Operations configuration with runtime settings.
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 search's would not be impacted.
Fixed an issue with Batch mode import that is caused by invalid guid's 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.
Fixed 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 ID's 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
 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
 Enabled Batch mode for Data Import by default.
   Updated visual for waiting icon.
   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.
   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
   Corrected an issue where logs were being placed in the wrong directory
   ADAL 3.19+ is now required for this library.  ADAL 2.x clients will need to be updated to use ADAL 3.x+
   Added Support for Current User ID login when using Online flows with oAuth (Login control/connection string support )
   Added Support for ClientID Secret Auth when using oAuth flows. (connection string support )
   Enhanced PD logs and temporary file delete logic.
   Enhanced PD logs and raise fail event immediately when AfterPackageImport returns fail.
   Fixed Missing BindRedirect issue for Newtonsoft assemblies used in packages.
   Enhanced PD to pass more error details to invoker of PD lib
   Added support for France and New US Geo's
   Added new behavior to return the full login error when initial connect fails in LastException.
   Published PackaDeployerException class which can be used by package developers
   Enhanced PD to bubble up error details to invoker of PD lib with progress status in case of failure - internal only
   Internal updates - No Public changes
   Internal updates - No Public changes
   Logging updates for async import error scenario.
   Logging Updates
   Added support for default async mode for DeleteAndPromote, regardless of how a given package is configured.
   Reverted change for RaiseFail event which done in version  Now it will not cause PD to stop with an overall failure and stick to old behavior of continuing package installation.
   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.
   Added native support for handing throttling messages from server.
   Improved handling of retry logic for blocked imports due to concurrent metadata import
 Corrected an error that occurs when a Async Upgrade Fails due to a recoverable server issue.  PD will attempt to recovery correctly vs aborting and requiring a restart.
 Correcting Dependancy Info on Package
 Fixed bug in CrmServiceClient which would cause some OnPrem connections to fail with an error "Item already added to List"
 Minor Pref 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.
 Updated install flows to more correctly trigger failures on failures within user code or data import.
 Added support several configuration settings dealing with timeouts and dials.
 Thease settings are set in the app.config of the host process
 StaleImportProgressOverride -
       This setting is the number of times a solution import be polled for progress.  This is rolling property, the count resets each time a solution moves forward.
         Default setting is 50
       Note: this property only applies when solutions import mode is sync.

     SolutionStatusPollingFrequencyOverride -
       This setting is the delay between check for solution progress.
         Default setting is :  5 (seconds)
       Note: this property only applies when solutions import mode is sync.

     SolutionImportBlockedRetryCountOverride -
       This setting is the number of retries that will be attempted when a solution import is blocked by a concurrent metadata operation.
         Default setting for this is 10

     SolutionImportBlockedWaitOverride -
       This setting is the number of seconds that a retry will wait before attempting another solution import.
         Default setting for this is 60 (seconds)

     UseAsyncForSolutionImport -
       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.
         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
Updated to include CAB compression DLL's.
     Fixed a bug in CMT Lookup processing logic that was causing incorrect linking where the data set includes records that require related lookup records which share the same default name. 9.0
Initial Release
     Updated for 9.x assemblies and Xrm.Tooling 3.x
Initial release of PD client as Nuget. US English only Client.