This project is read-only.

PowerShell App Deployment Toolkit v3.6.0

Rating:        Based on 2 ratings
Reviewed:  2 reviews
Downloads: 2174
Change Set: 2b632db225c6
Released: Mar 11, 2015
Updated: Mar 12, 2015 by sintaxasn
Dev status: Stable Help Icon

Recommended Download

Application PSAppDeployToolkit v3.6.0
application, 1466K, uploaded Mar 12, 2015 - 2174 downloads

Release Notes

Woohoo! We've added tons of new improvements and squished some very important bugs! Sorry it took so long for this release. We're hopefully back to a faster release schedule going forward.

We do this in our spare time and for love of PowerShell and everything app deployment. And we're keen on getting some Azure VMs up and running so we can build a solid test environment for a multitude of deployment infrastructures - but cloud costs money. So if the toolkit has benefited you and your company, consider donating! :)
  • Added function Set-ActiveSetup to allow creation/deletion of Active Setup entries (thanks to Denis St-Pierre, Todd MacNaught for code)
  • Added function Execute-ProcessAsUser to support running processes as the current logged on user to provide interaction in the system context. Note: if the user is not a local admin the process launched in user context will not inherit admin rights.
  • Added -PromptToSave parameter to Show-InstallationWelcome to prompt to save working documents when the users selects to close running applications
  • Added -TopMost parameter to Show-InstallationWelcome to allow the ability for the user to move the welcome screen to the background
  • Added variable to determine if running in terminal server session
  • Added functions to handle Windows services: Test-ServiceExists, Stop-ServiceAndDependencies, Start-ServiceAndDependencies, Get-ServiceStartMode, Set-ServiceStartMode
  • Added check to test whether or not the Windows Task Scheduler service is in a healthy state and fix any issues if possible.
  • Added ability in Deploy-Application.exe to read if Admin rights required from XML file and then automatically prompt to elevate on Vista or higher
  • Added -ExcludeDefaultUser parameter to Get-UserProfiles to allow exclusion of the Default User profile
  • Added IsLocalAdmin property to results from Get-LoggedOnUser function to determine if the user account is in the local Administrators security group
  • Added -AddParameters parameter to Execute-MSI to allow augmenting of parametrs instead of replacing them
  • Added -ReturnEmptyKeyIfExists parameter to Get-RegistryKey to allow returning empty registry keys if they exist
  • Added -LoggingOptions parameter to Execute-MSI to allow overriding the default logging options specified in the config file
  • Added validation for -Path parameter in Execute-MSI function
  • Fixed issue where Show-InstallationRestartPrompt and Show-InstallationPrompt with -NoWait parameter didn't work
  • Added default action of Install to Execute-MSI
  • Added ability to specify multiple transforms and patches in Execute-MSI using a comma separated list
  • Added ability in XML configuration to override the detected language with a statically defined language for installation UI elements
  • Fixed issue in Show-InstallationProgress where -BottomRight paramater would cause prompt to be placed off screen where DPI is > 100%
  • Fixed issue with error being thrown when reading the DPI scale from the registry if the property doesn't exist
  • Fixed issue with Show-InstallationWelcome failing if "notes" specified with -CloseApps parameter when Notes application not installed
  • Fixed issue in Execute-MSI where LogName parameter did not work correctly
  • Fixed issue with Show-InstallationWelcome where deferrals would be ignored if CloseAppsCountdown parameter is specified
  • Fixed issue in Copy-File where operation would fail if destination folder was not created before operation when using wildcards in -Path parameter
  • Fixed issue in Unblock-AppExecution on some systems where process failed to unblock if only one process was initially blocked
  • Fixed issue with Deploy-Application.exe not executing on systems where only .NET 4 or higher installed by adding Deploy-Application.exe.config file
  • Fixed issue with Deploy-Application.exe by using -Command parameter instead of -File to avoid bug in PowerShell 2.0 where incorrect exit code might be returned if -File parameter used
  • Fixed a number of issues with the Office 2013 example script
  • Fixed issue whereby pressing enter would default to a hidden Abort button on Show-installationWelcome and Show-Installation Prompt
  • Fixed aesthetic issue whereby use of DeferDays or DeferDeadline without DeferTimes would show a deferal count of 1 remaining
  • Fixed issue in Get-InstalledApplication to properly detect applications when -Exact parameter used
  • Fixed issue in Get-UniversalDate where function would fail for some valid date formats under some culture settings
  • Fixed issue in Write-Log where it was not possible to change logfile name and directory after the first time these paths were set
  • Fixed issue with Deploy-Application.ps1 where variable expansion wouldn't work in Show-InstallationPrompt example
  • Fixed issue with Install-SCCMSoftwareUpdates not working on all clients
  • Fixed issue where modal dialog windows were not properly disposed
  • Improved path validation in Deploy-Application.exe, rewrote utility in C#
  • Improved defining default values for script variables not defined
  • Improved path validation in Execute-Process
  • Improved path validation in Execute-MSI
  • Improved working directory validation in Execute-MSI
  • Improved error message when toolkit launched without admin permissions
  • Improved detection of when invoking script is the Help script to avoid false positives
  • Improved Deploy-Application.ps1 to use Write-Error instead of Write-Output when toolkit fails to dot source
  • Improved Get-ScheduledTask to retrieve all scheduled task details, remove spaces and colons from property names, allow retrieval of details for a specific task name, and remove lines with column headers from results
  • Improved compilation of custom C# code by using -IgnoreWarnings switch with Add-Type cmdlet so that toolkit does not fail to run because of a warning
  • Improved Write-Log to log following for CMTrace log type: thread id, file name of source script
  • Improved environment variable population when running in system context
  • Improved Write-Log to log PID and log source for CMTrace log type
  • Improved Remove-RegistryKey to check if a key exists befre trying to delete it and log a warning if key does not exist
  • Changed default Exit Codes for internal Toolkit functions. The range of 60000 is used for internal, and 70000 should be used for custom extensions
  • Changed toolkit to remove unused variables which did not exist and were being read from XML file
  • Changed Register-DLL/Unregister-DLL function to combine them into one function called Invoke-RegisterOrUnregisterDLL. Created Aliases for new function name to maintain backwards compatibility.
  • Changed Notes process termination using NSD to only run if Notes processes are running
  • Updated documentation
  • Added Polish translations
  • Updated German translations
  • Updated Italian translations

Reviews for this release

This is just awesome toolkit! I love it!
by krin on Apr 2, 2015 at 1:08 PM
This is an excellent deployment tool whether used with or without SCCM. Very powerful with a good number of options. For those of us without extensive PowerShell knowledge it is very helpful, but so great that it can be used even by those with no PowerShell knowledge. Much gratitude to the developers who commit their efforts to this amazing side project!
by jteuhs on Mar 12, 2015 at 5:46 PM