github PSAppDeployToolkit/PSAppDeployToolkit 3.9
PowerShell App Deployment Toolkit 3.9

latest releases: 3.10.1, 3.10.0, 3.9.4...
16 months ago

Version 3.9.0 [10/01/2023]

  • Added refreshed UI components with updated PSAppDeployToolkit branding
  • Added support for Windows Toast Notifications, instead of using a BalloonTip (only for Windows 10 and above)
  • Changes to dialogs so that the default system font is used for all labels and buttons, adding a more consistnent look and feel.
  • Improved documentation - new overview, features and benefits detail to enhance value proposition. Improved Function documentation and overall PDF document layout.
  • Updated text and structure for Comment-Based-Help to align with PowerShell Best Practices
  • Added detection of defaultuser0 OOBE or ESP process to enable Non-Interactive deployment mode for Intune Autopilot/ESP scenarios.
  • Show-InstallationPrompt now has a -TopMost parameter. Fixed the function failing to display a window with -NoWait parameter specified.
  • Show-InstallationWelcome will now display the countdown message if there are no processes running when CloseApps timer is enabled.
  • Show-InstallationProgress now supports moving the WindowLocation dynamically for existing progress dialogs (#685). When the WindowLocation is set to BottomRight, the position is now offset so as not to overlap with toast notifications (#685)
  • Show-InstallationRestartPrompt now has a -TopMost parameter. Resolved an issue where parameters were not handled correctly when running asynchronously. The titlebar now shows the toolkit icon.
  • Fixed vulnerability CWE-428 ensuring quotes are added to ActiveSetup paths with spaces (#726)
  • Fixed -FilterApplication logic in Remove-Applications (#665)
  • Fixed help text for some functions that contained old/incorrect information
  • Fixed $LocalPowerUsersGroup throwing errors on machines where it does not exist (e.g. Domain Controllers)
  • Resolved an issue with Set-ActiveSetup where the function would not correctly execute the process for the current user (#644)
  • Resolved an issue where Set-ActiveSetup would not correctly evaluate whether to execute while running as system (#707)
  • Set-ActiveSetup now also checks Version and IsInstalled properties when attempting to run the process for current user. DisableActiveSetup now also disables ExecuteForCurrentUser. Enhanced logging.
  • Execute-Process now shows a shorter error description rather than the full error information in the popup window, the full error details are available in the log.
  • Changed Block-AppExecution and Unblock-AppExecution so the functions also run during Non-Interactive installs (#699)
  • Fixed a bug that caused Update-Desktop/Refresh-Desktop to crash Powershell on 32bit systems
  • Improved calculation of dpi scale and pixels in the $GetDisplayScaleFactor variable.
  • Resolved an issue where New-Folder would not create the entire path name in some scenarios.
  • CHANGE: If the -ContinueOnError parameter on The Remove-Folder function now stops the script on all errors if the -ContinueOnError paramenter is set to $false. The -DisableRecursion parameter now removes everything except non-empty folders.
  • Resolved an issue where the $LocalSystemNTAccount variable was not populated.
  • Resolved an issue where UNC paths were not handled by New-Shortcut, Set-Shortcut and Get-Shortcut. Minor improvement to $iconIndex logic in New-Shortcut.
  • Resolved an issues where the banner file object is locked and cannot be deleted in the same PowerShell session (#717)
  • Updated Get-InstalledApplication to make removal of control characters less aggressive (#691)
  • Updated entire toolkit to align with toolkit styling and formatting standards
  • Updated Execute-MSP functions to utilize toolkit MSI database helper functions
  • Added "-Force" and "-ErrorAction" parameters to "Get-ChildItem" calls in "Copy-File" function
  • Added Greek translations
  • Added the appropriate exit code for MSIs that are already installed to the Execute-MSI function (#686)
  • Improved Unblock-AppExecution function removal of the BlockAppExecution Schedule Task XML file
  • Updated Set-PinnedApplication to use "OrdinalIgnoreCase" instead of "CurrentCultureIgnoreCase" to ignore case of pin action on Windows 10
  • Set the ErrorAction of the "Unregister-Event'" command in the Finally block of the Execute-Process function to "SilentlyContinue"
  • Reverted some changes in "Show-InstallationWelcome" and "Show-WelcomePrompt" to maintain compatibility with PowerShell 2.0
  • Reverted changes that removed "Select-Object -ExpandProperty" calls to maintain compatibility with PowerShell 2.0
  • Reverted unnecessary conversions of Where-Object pipeline pattern to less readable ForEach-Object pattern. Where-Object pattern is not more performant than ForEach-Object (ForEach or For would be, but the micro-optimization is unnecessary for our usecase).
  • Reverted Resolve-Error function code to that from v3.8.3 to undo all changes

Don't miss a new PSAppDeployToolkit release

NewReleases is sending notifications on new releases.