Psappdeploytoolkit

PowerShell App Deployment Toolkit - Deep Dive

PowerShell App Deployment Toolkit - Deep Dive

AppDeployToolkitBanner2

When we last looked at the PowerShell App Deployment Toolkit, we looked at a simple example of installing Visual C++ Runtime, which does not show the power of using the toolkit. In this post, we want to look at a more complete example of using the toolkit to save time and effort creating deployment scripts.

Toolkit Configuration

But first, we want to look into some of the configuration options of the toolkit. The toolkit folder has a file called AppDeployToolkitConfig.xml. This contains all the default configurations which will be used for all deployments.

PowerShell App Deployment Toolkit

PowerShell App Deployment Toolkit

AppDeployToolkitBanner2

In my line of work, knowledge of how installations work is crucial. And with that knowledge, comes experience making terrible vendor installations work properly in an enterprise environment. For years, the standard solution, when troubleshooting and experimenting was going nowhere, was to repackage the troublesome app. Where experimenting lead somewhere, there might have been an eventual VB script written to cater for all the complexities involved to get everything working properly.

Some of the common challenges were

  • Show a nice interface to let users know something was happening, for silent installs

  • Install admin (system context) and user level files or registry keys, from the same script.

  • Return proper error codes back to the deployment system (commonly SCCM)

  • Link together several installations

  • Switch between install types (interactive, passive or silent; pulled install, task sequence, server install, etc)

These were common problems, and in some cases, you had to make several installation scripts, to cater for different scenarios. Ok, if you had enough time, you could create a script that accepted certain parameters on launch, to do different things. But in the rush to meet SLAs, you would do the most urgent thing first, and then go back to revisit the app later, when a different scenario was needed.

Which is why I was happy to find the PowerShell App Deployment Toolkit, as a common deployment toolkit to help with the common packaging and deployment issues.