(re)Use your SCCM packages to “automate” AppStacks

In my previous blog I described how you can group your applications and divide them into different kinds of AppStacks.

When you use these AppStacks, some of them can become fairly large because of the amount of applications that are used at a department. It’s also possible that two or more departments use the same application, so you may need to install that application in multiple AppStacks.

When you do this manually, it’s not only a repeating and time-consuming job. But you also run the risk of making errors during the installation, which can result in the application not working properly and you may have to start all over again.

To prevent this from happening we found a solution in reusing our SCCM packages to automate the installation of applications by using task sequences. For every AppStack, we’ve created an task sequence in SCCM that installs all the applications needed for that specific AppStack.

How does this work?

In short:

  1. We package an application. (create a .msi or silent install script)
  2. Add the application to SCCM.
  3. List the application in the task sequence(s).
  4. Launch the task sequence on the provisioning machine during the provisioning process.

So the first step is the package te application. 80% of the time we use a vendor .msi or setup.exe and create a silent installation with the most common parameters. The other 20% are installed and configured with a PowerShell installation script.

*This are only applications used in AppStacks.
**Application settings/configurations are done with VMware User Environment Manager (user-based) or GPO (machine-based). When for example a backend server changes, you don’t need to repackage the application.

The second step is to add the packaged application to SCCM. If you use SCCM in your environment, you probably know how to do this. Otherwise you can easily find it on Google.

When the application is added to SCCM you now need to list the application in a SCCM task sequence. This is the third step. When you create a new task sequence, make sure you select the “create a new custom task sequence” option.

When the task sequence is created, you can add the applications needed for the AppStack. It should look like the screenshot below.

Now you need to deploy the task sequence to a machine collection which contains your provisioning machine(s). So when you login to the provisioning machine, the task sequence will be available for installation.

The final step is launching the task sequence during the provisioning process. Create an AppStack in the App Volumes Manager, if you don’t know how to do this click here. Now login to the provisioning machine, provision the new AppStack and start Software Center.

Select one of the available task sequences and press the install button.

Now get a cup of coffee and sit back while the SCCM agent automatically installs all the applications.

When all applications are installed you finish the provisioning process by pressing the OK button in the App Volumes dialog box, the machine will be rebooted and the AppStack is ready to use.

Conclusion

By using SCCM and App Volumes this way you only need to package an application once. You can install an applications multiple times and in multiple AppStacks. If something should go wrong, you easily check the log files to know which applications failed and start troubleshooting. This saves you a lot of time and (re)work.

I know there are API’s available for the App Volumes Manager. So if you want, you can create a script to fully automate the whole process of creating AppStacks. Chris Twiest has done some cool things with it, check it out here.