How to automate software deployments

Brock Bingham candid headshot
Brock Bingham|July 27, 2022
How to automate software deployments with PDQ Deploy
How to automate software deployments with PDQ Deploy

IT departments are notorious for only receiving the bare minimum resources and personnel to keep things functioning. Let’s face it, the chances that upper management will expand your IT department are about as likely as me going for a jog today. Spoiler alert: It’s not going to happen.

Instead of compensating by working harder (because that’s a silly idea), we work smarter and automate processes. While some processes are easy to automate, others, such as software deployments, can be too complex to automate without the help of specialized tools. That’s where PDQ Deploy and Inventory come in. I’ll show you how you can automate software deployments in less than 30 minutes using Deploy and Inventory, including configuring a test group.

The rest of this article assumes you have PDQ Deploy and Inventory already installed. If you need help getting things set up, check out our Installing PDQ Deploy and Installing PDQ Inventory video guides that walk through the process.

Downloading software packages from the Package Library

The automation process starts with the Package Library in PDQ Deploy. The Package Library contains prebuilt packages for many of the most popular Windows applications. These packages can be downloaded and deployed to the devices you manage with just a few clicks. PDQ regularly updates packages in the Package Library, and you can automatically download them to your PDQ console.

To access the Package Library, launch PDQ Deploy and click Package Library.

Select the Package Library within PDQ Deploy

Inside the Package Library, you’ll find an exhaustive list of popular applications. I’ll use Dropbox for this example, but the same process can be applied to any of the applications in the Package Library.

1. Enter Dropbox into the Filter field to narrow down the list of packages.

2. Select the Dropbox package, then click Download Selected (As Auto Download).

Select the Dropbox package then click Download Selected As Auto Download

3. The download should only take a few moments, depending on your connection. Once downloaded, you should find the package in your Packages folder.

Since this is an Auto Download package, it automatically updates when new versions are released. This functionality is a fundamental piece of the automation puzzle.

Create a pilot collection in PDQ Inventory

PDQ Inventory is absurdly good at tracking software installations and configuration settings for your managed devices. The Collection Library in PDQ Inventory allows you to rapidly identify which devices have what software installed. Additionally, you can use collections to target groups of devices that meet specific criteria with deployments.

For example, we can use the Dropbox (Old) and Dropbox (Not Installed) collections to ensure that the newest version of Dropbox gets installed on all computers that are missing it or currently have an old version installed.

Create pilot collections such as Dropbox Not Installed and Dropbox Old to differentiate what type of Dropbox is on what devices

Collections in the Collection Library are included with PDQ Inventory and are updated automatically. You can also create your own collections to meet the needs of your organization.

Let’s create a collection for a pilot or test group that includes computers that will receive updates shortly after release. This group will test the latest updates before they are distributed to the rest of the organization.

1. In PDQ Inventory, click New Static Collection.

2. Name the collection Pilot Group.

3. Add your test devices to the collection, then click OK.

In PDQ Inventory create a New Static Collection named Pilot Group and add devices to test

4. Click New Dynamic Collection.

5. Name the collection Pilot Group – Dropbox.

6. Use these filters for the collection:

Member of CollectionNameEqualsPilot Group
Member of CollectionNameContainsDropbox (Old)
Member of CollectionNameEqualsPilot Group
Member of CollectionNameContainsDropbox (Not Installed)
Pilot Group Dynamic Collection example of folders and dropdowns designated in the table above

This dynamic collection will contain computers that are part of the Pilot Group and either the Dropbox (Old) or Dropbox (Not Installed) collection.

Configuring Auto Download settings

With our collections out of the way, we need to ensure we’ve configured our Auto Download settings correctly. Since we’ll be deploying packages to both a pilot group and a production group, we need two separate packages to allow us to have different Auto Download settings.

1. In PDQ Deploy, right-click on the Dropbox package, and click Duplicate.

In PDQ Deploy right-click on the Dropbox package and click Duplicate

2. Right-click on the duplicated package, and click Rename.

3. Add Pilot to the end of the package name, which allows us to distinguish between the two packages. Click OK.

Rename the duplicate package and add Pilot to the end of the package name

4. Double-click on the Dropbox Pilot package to access the package settings.

5. Make sure Properties is selected, then click the Options tab.

Double click on Dropbox Pilot package to access package settings and select Options within the Properties tab

6. Uncheck Auto Download Use settings from Preferences.

7. Select Immediate.

Uncheck Auto Download Use settings from Preferences and select Immediate

8. When you’re finished, click Save.

This new Pilot package will download new versions of the package immediately when it becomes available. The regular Dropbox package will download new versions according to the schedule configured in Deploy’s preferences, which is set to 7 days by default.

Configuring deployment schedules

Now that we’ve got our collections and packages configured, the last piece of the automation puzzle is configuring our deployment schedules. Configuring deployment schedules is really easy; however, these settings need to be curated to meet the needs of your organization. You can use the settings in this example, but they may not be the best configuration for your network.

1. In PDQ Deploy, click New Schedule.

2. In the Schedule Name field, enter Dropbox – Pilot.

3. Click the Triggers tab.

4. Since this is the pilot group schedule, we want it to be pretty aggressive to get the package distributed as quickly as possible. Click Interval and set it to every 1 hour.

Click Interval and set it to every 1 hour

5. Additionally, click the Heartbeat trigger to ensure the package gets deployed to those hard-to-reach devices.

6. Click the Targets tab.

7. Click Choose Targets > PDQ Inventory > Collection.

8. Select the Pilot Group – Dropbox collection, and click OK.

Select Pilot Group Dropbox collection and click OK

9. Click the Packages tab.

10. Click Attach Packages.

11. Select the Dropbox Pilot package, and click OK.

Select the Dropbox Pilot package and click OK

12. Click the Options tab, and make sure Stop deploying to targets once they succeed is selected.

13. When finished, click OK to save the schedule.

Now we need to create a second schedule that targets our primary production devices.

1. Click New Schedule.

2. Enter Dropbox for the schedule name.

3. Click the Triggers tab.

4. Configure the triggers that work best for your environment. I’ve used a weekly trigger and a heartbeat trigger for my schedule.

Configure the triggers that work best for your environment

5. Click the Targets tab.

6. Click Choose Targets > PDQ Inventory > Collection.

7. Enter Dropbox into the filter field.

8. Select Dropbox (Not Installed), and click OK.

9. Repeat steps 6 and 7, then select Dropbox (Old), and click OK.

Select Dropbox Old and click OK

10. Click the Packages tab.

11. Click Attach Packages.

12. Select the Dropbox package, and click OK.

13. Click the Options tab, and ensure Stop deploying to targets once they succeed is checked.

Click the Options tab and ensure Stop deploying to targets once they succeed is checked

14. Click OK to save, and close the schedule.

We’ve created two schedules: an aggressive schedule for the pilot group and a less aggressive schedule for our production devices. This configuration gives the pilot group a week to test out new updates before the rest of the organization receives them. Keep in mind that these settings may not be suitable for your environment. Work with your team to identify the best schedule for your users and devices.

PDQ Deploy & Inventory, simplifying automation

When resources are limited, automation is the key. PDQ Deploy and Inventory simplify software deployment automation.

If you’re still on the fence about PDQ Deploy and Inventory, try them out with a 14-day free trial. It’s like hiring an extra sysadmin without all the drama and risk of someone stealing your lunch.

Brock Bingham candid headshot
Brock Bingham

Born in the '80s and raised by his NES, Brock quickly fell in love with everything tech. With over 15 years of IT experience, Brock now enjoys the life of luxury as a renowned tech blogger and receiver of many Dundie Awards. In his free time, Brock enjoys adventuring with his wife, kids, and dogs, while dreaming of retirement.

Related articles