Skip to main content
Version: 4.0

Migrating from v3

Changes in v4

If you have not already done so, be sure to familiarize yourself with the numerous changes in v4.

Using v4 in v3 Compatibility Mode

The Creating a new deployment page details how to create a v3-compatible deployment template, or to download one from GitHub.

This will create a layout where you can simply drop in your existing v3 Deploy-Application.ps1 scripts (also AppDeployToolkit\AppDeployToolkitExtensions.ps1) and they will continue to work, with the following caveats:

  • If you had customized config.xml in your previous v3 deployment, you will now need to modify Config\config.psd1 and/or Strings\strings.psd1 to suit.
  • Your custom banner will need to be copied to Assets\Banner.Classic.png
  • The new Fluent UI is disabled when running in compatibility mode.

Migration Tools in PSAppDeployToolkit.Tools

PSAppDeployToolkit.Tools features the following commands to assist in migrating from v3:

  • Test-ADTCompatibility - Test your PSAppDeployToolkit v3 scripts to get a full report on which functions and variables have changed in v4.
  • Convert-ADTDeployment - Convert a PSAppDeployToolkit v3 script or an entire package folder to v4 standards.

The Downloading page covers how to download and install this additional module.

Test-ADTCompatibility

Example command usage:

Test-ADTCompatibility -FilePath .\Deploy-Application.ps1 -Format Grid

This example analyzes Deploy-Application.ps1 and outputs the results as a grid view.

Convert-ADTDeployment

Example command usage:

Convert-ADTDeployment -Path .\Deploy-Application.ps1

This example converts Deploy-Application.ps1 into Invoke-AppDeployToolkit.ps1 in the same folder.

Convert-ADTDeployment -Path .\PackageFolder

This example converts PackageFolder into PackageFolder_Converted in the same folder.

Conversion limitations:

  • Known toolkit variables such as $appName are copied over to the hashtable used to create $adtSession.
  • The main Install/Uninstall/Repair scriptblocks are converted and copied over to the new script.
  • Any other custom variable/function declarations or other code outside of these blocks will not be transferred.
  • Files and SupportFiles content will be transferred if a package folder is supplied as the path rather than a Deploy-Application.ps1 file.
  • Config.xml changes will not be ported over to the new .psd1 files.
  • Customized assets/banners are not currently copied over.

PSAppDeployToolkit.Tools is currently in pre-release status to gather early feedback. If you encounter any conversion issues, please submit them as a GitHub Issue.