New Post: Test-Powerpoint
New Post: how does the script handle if program is running on target client?
If I want to upgrade Itunes for instance..
I create a new script etc. and deploy it to my itunes collection..
How does the script and/or sccm handle if Itunes is already running on a client?
New Post: how does the script handle if program is running on target client?
Show-InstallationWelcome -CloseApps "iTunes.exe" will prompt user to close iTunes. Refer to documentation for more details.
Sean
New Post: how does the script handle if program is running on target client?
Thanks.. I'll reread the docs..
if show-installationWelcome is only activated if process is running then I'll use that..
if not.. I might just use:
$ProcessActive = Get-Process outlook -ErrorAction SilentlyContinue
if($ProcessActive -eq $null)
{
Do my installation of itunes
}else
{
Show-InstallationWelcome -CloseApps "iTunes.exe" etc etc
}New Post: how does the script handle if program is running on target client?
Yes, the prompt will only be activated if the process is running (unless you add the -AllowDefer parameter). If you don't want a prompt and just want to kill the process, you can use:
Show-InstallationWelcome -CloseApps "itunes.exe" -Silent
Cheers,
Seán
New Post: Restart when finished
Thanks
Source code checked in, #ae4321341d370ee078bc761c870beb8f7c6369a9
New Post: MS visio 2013 - uninstallation woes..
there's a "scrub" case for pro & std.. but what about premium?
New Post: Execute-Process -Arguements issue
That took care of it
Updated Wiki: Home
PowerShell App Deployment Toolkit
What is the PowerShell App Deployment Toolkit?
The PowerShell App Deployment Toolkit provides a set of functions to perform common application deployment tasks and to interact with the user during a deployment. It simplifies the complex scripting challenges of deploying applications in the enterprise, provides a consistent deployment experience and improves installation success rates.
The PowerShell App Deployment Toolkit can be used to replace your WiseScript, VBScript and Batch wrapper scripts with one versatile, re-usable and extensible tool.
Scroll down to see sample screen shots of the user interface.
What are the main features of the PowerShell App Deployment Toolkit?
- Easy To Use - Any PowerShell beginner can use the template and the functions provided with the Toolkit to perform application deployments.
- Consistent - Provides a consistent look and feel for all application deployments, regardless of complexity.
- Powerful - Provides a set of functions to perform common deployment tasks, such as installing or uninstalling multiple applications, prompting users to close apps, setting registry keys, copying files, etc.
- User Interface - Provides user interaction through customizable user interface dialogs boxes, progress dialogs and balloon tip notifications.
- Localized - The UI is localized in several languages and more can easily be added using the XML configuration file.
- Integration - Integrates well with SCCM 2007/2012; provides installation and uninstallation deployment types with options on how to handle exit codes, such as supressing reboots or returning a fast retry code.
- Updatable - The logic engine and functions are separated from per-application scripts, so that you can update the toolkit when a new version is released and maintain backwards compatibility with your deployment scripts.
- Extensible - The Toolkit can be easily extended to add custom scripts and functions.
- Helpful - The Toolkit provides detailed logging of all actions performed and even includes a graphical console to browse the help documentation for the Toolkit functions.
What functionality does the PowerShell App Deployment Toolkit provide?
User Interface
- An interface to prompt the user to close specified applications that are open prior to starting the application deployment. The user is prompted to save their documents and has the option to close the programs themselves, have the toolkit close the programs, or optionally defer. Optionally, a countdown can be displayed until the applications are automatically closed.
- The ability to allow the user to defer an installation X number of times, X number of days or until a deadline date is reached.
- The ability to prevent the user from launching the applications that need to be closed while the application installation is in progress.
- An indeterminate progress dialog with customizable message text that can be updated throughout the deployment.
- A restart prompt with an option to restart later or restart now and a countdown to automatic restart.
- The ability to notify the user if disk space requirements are not met.
- Custom dialog boxes with options to customize title, text, buttons & icon.
- Balloon tip notifications to indicate the beginning and end of an installation and the success or failure of an installation.
- Branding of the above UI components using a custom logo icon and banner for your own Organization.
- The ability to run in interactive, silent (no dialogs) or non-interactive mode (default for running SCCM task sequence or session 0).
- The UI is localized in several languages and more can easily be added using the XML configuration file.
Functions/Logic
- Provides extensive logging of both the Toolkit functions and any MSI installation / uninstallation.
- Provides the ability to execute any type of setup (MSI or EXEs) and handle the return codes.
- Mass remove MSI applications with a partial match (e.g. remove all versions of all MSI applications which match "Office")
- Perform SCCM actions such as Machine and User Policy Refresh, Inventory Update and Software Update
- Supports installation of applications on Citrix XenApp/Remote Desktop Session Host Servers
- Update Group Policy
- Copy / Delete Files
- Get / Set / Remove Registry Keys and Values
- Get / Set Ini File Keys and Values
- Check File versions
- Pin or Unpin applications to the Start Menu or Task Bar
- Create Start Menu Shortcuts
- Register / Unregister dll files
- Refresh desktop icons
- Test network connectivity
- Test power connectivity
- Check whether a PowerPoint slideshow is running
Integration with SCCM
- Handles SCCM exit codes, including time sensitive dialogs supporting SCCM's Fast Retry feature - providing more accurate SCCM Reporting (no more Failed due to timeout errors).
- Ability to prevent reboot codes (3010) from being passed back to SCCM, which would cause a reboot prompt.
- Supports the CM12 application model by providing an install and uninstall deployment type for every deployment script.
- Bundle multiple application installations to overcome the supported limit of 5 applications in the CM12 application dependency chain.
- Compared to compiled deployment packages, e.g. WiseScript, the Toolkit utilises the SCCM cache correctly and SCCM Distribution Point bandwidth more efficiently by using loose files.
Help Console
- A graphical console for browsing the help documentation for the toolkit functions.
User Interface Screenshots
Installation Progress
The installation progress message displays an indeterminate progress ring to indicate an installation is in progress and display status messages to the end user. This is invoked using the “Show-InstallationProgress” function.
The progress message can be dynamically updated to indicate the stage of the installation or to display custom messages to the user, using the “Show-InstallationProgress” function.
Installation Welcome Prompt
The application welcome prompt can be used to display applications that need to be closed, an option to defer and a countdown to closing applications automatically. Use the “Show-InstallationWelcome” function to display the prompts shown below.
Welcome prompt with close programs option and defer option:
Welcome prompt with close programs options and countdown to automatic closing of applications:
Welcome prompt with just a defer option:
Block Application Execution
If the block execution option is enabled (see Show-InstallationWelcome function), the user will be prompted that they cannot launch the specified application(s) while the installation is in progress. The application will be unblocked again once the installation has completed.
Disk Space Requirements
If the CheckDiskSpace parameter is used with the Show-InstallationWelcome function and the disk space requirements are not met, the following prompt will be displayed and the installation will not proceed.
Custom Installation Prompt
A custom prompt with the toolkit branding can be used to display messages and interact with the user using the “Show-InstallationPrompt” function. The title and text is customizable and up to 3 customizable buttons can be included on the prompt as well as optional system icons, e.g.
Additionally, the prompt can be displayed asynchronously, e.g. to display a message at the end of the installation but allow the installation to return the exit code to the parent process without waiting for the user to respond to the message.
Installation Restart Prompt
A restart prompt can be displayed with or without a countdown to automatic restart using the “Show-InstallationRestartPrompt”. Since the restart prompt is executed in a separate PowerShell session, the toolkit will still return the appropriate exit code to the parent process.
Balloon tip notifications
Balloon tip notifications are displayed in the system tray automatically at the beginning and end of the installation. These can be turned off in the XML configuration.
Reviews
“Truly powerful application deployment toolkit written in PowerShell! Solving some classic problems “
Jörgen Nilsson, Microsoft MVP, Enterprise Client Management
“Another very cool SCCM 2012 must have tool - PowerShell App Deployment Toolkit”
Kent Agerlund, Microsoft MVP, Enterprise Client Management
“This is really an exceptional Toolkit! It's the swiss army knive for software deployment. For every task you possible need to perform, there is a function for it. And you can extend it with your own functions if you like. Even when you're using something like SCCM to deploy your software, the toolkit can have real value as it fills the gabs left by SCCM. Thanks!”
Quint
“Excellent support guys! This toolkit is the best thing around to easily wrap and deploy software to end users and it just keeps on getting better with every release!”
Maarten Pauchet
“The PowerShell App Deployment toolkit rocks! I tried it today and love it.”
Alex Verboon
As seen at Kent Agerlund’s“Become the Hero of the Day - Master ConfigMgr 2012 R2 with a Limited Budget and Free Community Tools” sessions at NIC Conference 2013 and System Center Universe 2014.
About the Authors
Source code checked in, #350bffff3fdcb40568c80e620ab0508aa54af5e7
Source code checked in, #5d6fba7c0bf780187fe904930291a307c21d77cb
Created Release: PowerShell App Deployment Toolkit v3.1.1 (Apr 06, 2014)
- Added -NoCountdown parameter to Show-InstallationRestartPrompt to provide an option for just displaying the restart now or restart later buttons. The UI will
- Fixed issue whereby the restart prompt could be closed from the task bar
- Added Recurse parameter to Copy-File function
- Fixed exact process match on Show-InstallationWelcome was broken in a recent release
- Fixed MinimizeWindows parameter which was broken in a recent release
Released: PowerShell App Deployment Toolkit v3.1.1 (Apr 06, 2014)
- Added -NoCountdown parameter to Show-InstallationRestartPrompt to provide an option for just displaying the restart now or restart later buttons. The UI will restore/reposition itself persistently based on the interval value specified in the config file.
- Fixed issue whereby the restart prompt could be closed from the task bar
- Added Recurse parameter to Copy-File function
- Fixed exact process match on Show-InstallationWelcome was broken in a recent release
- Fixed MinimizeWindows parameter which was broken in a recent release
Updated Release: PowerShell App Deployment Toolkit v3.1.1 (Apr 06, 2014)
- Added -NoCountdown parameter to Show-InstallationRestartPrompt to provide an option for just displaying the restart now or restart later buttons. The UI will restore/reposition itself persistently based on the interval value specified in the config file.
- Fixed issue whereby the restart prompt could be closed from the task bar
- Added Recurse parameter to Copy-File function
- Fixed exact process match on Show-InstallationWelcome was broken in a recent release
- Fixed MinimizeWindows parameter which was broken in a recent release
Closed Unassigned: Copy-File does not accept -recurse [58]
Comments: Hi there, v3.1.1 has just been released and includes a recurse parameter for Copy-File. Cheers, Seán
Edited Feature: Copy-File does not accept -recurse [58]
New Post: Console apps fail with Execute Process
New Post: Restart when finished
Fantastic!!
It works like a charm.
When will this be available?
Thanks very much.
New Post: Regkey to identify In- or Uninstalled Application
the PADT is a very create and impressive tool, i would like to introduce it in our environment but i have a question.
Is it possible, for sccm use, that padt set a registrykey for the application on
- HKLM\SOFTWARE\MYNAME\Installed
-
HKLM\SOFTWARE\MYNAME\UnInstalled
i would like to use this as detectionrule in sccm ;).
I hope that is good explained!
with best regards
André