We get a lot of requests to add new packages to the Package Library in PDQ Deploy. While nothing would make us happier than to fulfill every request, the unfortunate reality is that we can't.
There are reasons why we can't create certain packages. Some applications require heavily customized installers, preventing us from accurately developing a one-size-fits-all package for customers. Another issue we frequently run into is EULAs (End User License Agreements) that restrict the redistribution of software.
Frustrated by these roadblocks, we searched for a solution to offer our users more bang for their buck. With enough coffee and just the right amount of crazy, we think we've come up with a solution that our users will love.
Introducing package templates in PDQ Deploy.
What are package templates?
Package templates are a new addition to the Package Library in PDQ Deploy. Think of them as the framework of a package. Templates include all the necessary steps to deploy an application except for the actual installer files and any additional configuration files. Installers and configuration files will need to be provided by you, the administrator.
Since templates don't include any software installers, we can provide deployment packages for software that we've never been able to offer before. Take that, EULAs! While this means templates may not be as convenient as standard packages in the Package Library, they take a lot of the guesswork out of package creation.
How to access package templates?
To access package templates in PDQ Deploy, click on Package Library, then enter template in the filter field. Double-click on any template in the library to download it to your console. I've downloaded the TeamViewer and the Office 365 / Office 2019 templates for the sake of this article.
Let's look at the TeamViewer template that we recently added to PDQ Deploy.
The first thing you'll notice is that unlike most packages from the Package Library, templates download as a standard package, not an auto download package. You can distinguish the two by the icon next to the package.
Templates won't automatically download new versions as they become available. This behavior may seem counterintuitive, but it's designed to prevent a new template from overwriting your customized template. If templates were automatically downloaded, a new, blank template would replace your existing template with its files and customizations. That would probably get frustrating pretty quickly.
Now, let's double-click on the template to inspect it.
In the Details tab of the Properties window, you'll find the TeamViewer template description, which provides information regarding the template and how it works. Since this template is pretty basic, the Description box contains all of the steps needed to build it out. More complex templates link to KB articles that provide detailed instructions and screenshots.
Now, let's inspect the install step by clicking on Step 1 - Install TeamViewer.
Notice that the Install File, Parameters, and Success Codes fields have been pre-populated with the information needed to silently deploy TeamViewer. However, if you look at the File Details section, you'll see that the installer is only 0.1 KB. That's because the current installer is only a placeholder file that you’ll need to replace. If we click on the ellipses button next to the Install File field, we can view this placeholder file.
Per the instructions contained in the Properties window, we'll need to download the actual installer file from TeamViewer, rename it to TeamViewer_Setup.exe and overwrite the existing placeholder file. Users can use either the 32-bit or 64-bit version of the installer for this package.
For this example, I've downloaded the 64-bit installer of TeamViewer from the official site, renamed it, and replaced the placeholder file with it. You'll notice that the actual installer is much larger than the placeholder file.
Since I'm using the 64-bit installer, it's important to note that this package won't successfully install on 32-bit operating systems. You'll want to ensure that you only target 64-bit devices or change the O/S Architecture condition setting in the Conditions menu.
With the installer replaced, the package is ready to deploy. Templates can be deployed via the same methods as any other package, using schedules and triggers or manual deployment. As with any deployment, it's good practice to test newly created templates in a lab environment or a small test group to ensure the deployment is successful.
Office 365 / Office 2019 template
By comparison, the Office 365 / Office 2019 template is a more complex package to build than the TeamViewer template. If we pull up the package details of the Office 365 / Office 2019 template, we'll see that we're redirected to a KB article that provides the information necessary to finish building the package.
The KB article instructs you to download the necessary files using the Office Deployment Tool. It also guides you through customizing your Office configuration using the Office Customization Tool. While a couple of configuration settings are mandatory, such as setting "Show Installation to User" to OFF, many of the customization options are org-specific and should be configured to match your network environment.
Once you've customized the configuration files and replaced the template placeholder files, your package is ready to deploy.
Contributing to PDQ Deploy templates
If I were a six-fingered man, I could count the current number of package templates available in the Package Library on one hand. I'd also be on the lookout for a man by the name of Inigo Montoya. However, we want to provide our users with as many package templates as possible. To do so, we need your template recommendations.
How do you submit your template request? I'm glad you asked. Simply head over to our Package Library Requests community page and add your submission. If somebody already submitted your template idea, upvote it. It's that easy.
When submitting a package request, remember to include as much information as possible. If you've already built the package yourself and just want to share your amazing creation with the community, send us a screenshot or even export your package for us. It'll help get the template created that much more quickly.
Remember: because package templates aren't restricted by EULAs, we have a lot more freedom in what we can create. So hit us up, and let us know what templates you'd like to see in the Package Library.