I am a big fan of automation and software deployment is one thing that must be automated. You can manually deploy software if you work in a company with 10 people. If you have more users and install software manually, then something is wrong. There are many ways you can deploy software automatically, you can use Group policy for example which is part of the Windows Server and is free.
In one of the companies I used to work in 2001 we used scripts. We sent email to our users with a big red button saying Press immediately. Once pressed, a script was executed which opened a terminal window saying – Don’t close this window until you see message Operation Complete – Then you can close the window. Time has changed and so have deployment options.
Now, there are many tools which all to some extent do one thing – deploy the software to client computers. How well those tools perform is another matter.
Until now, I was a happy user of ManageEngine Desktop Central. Then one day, I couldn’t deploy Skype to a director’s computer. It was not the first time I had problems, but it was the first time that I got really excited to find a replacement. After all, you can’t keep your boss waiting.
It was also the second time after a while that I got really excited about a product which is not web based.
PDQ Deploy review
It all started with the error I received when trying to download Skype in Desktop Central. I am not 100% sure what happened but I think that the link to the download expired. As I was in a hurry, I decided to find another solution that would help me fix the problem.
I found a product called PDQ Deploy from the company called Admin Arsenal. I have to admit. It’s a fine piece of software. Not only does it do what it’s supposed to do – deploy software – but it performs without an error when others fail.
It also has some pretty nifty features and a great price. Let’s take a look how to do software installation and software patching with style and only couple of seconds.
When you open PDQ Deploy console, you will see a list of programs you can select and install on the computers.
PDQ Deploy, depending on the version you use has a built in list of programs (they call it Package Library) which can be used for automatic deployment. Because PDQ deploy is action based, amazing things can be done with installation. For example, the most annoying thing with Adobe Reader and Java is a feature called automatic update. Because users don’t have permissions they can’t update the programs by them self. If you deploy with PDQ, you can say goodby to those problems as such “features” are removed with installation.
Package library is a rich list of software which you can use to install. If the software is not in the PDQ database, you can: 1. Request a package (if they receive many requests, application will be added to the database) 2. create your own deployment package.
There are many free, popular programs in the database, like Mozilla Firefox, Google Chrome, LibreOffice, Apache OpenOffice, Java, Paint.net, Putty, Skitch, Evernote, Skype, PeaZip and the list goes on.
All you have to do is to select a program, choose a computer you wish to deploy and press a button. Pretty amazing.
What I find super cool, is that you have the ability to import older version of the program. For example, If the latest version of deployed software is affected by a bug, you can revert back and deploy older version. In the meantime you can wait for a new version of affected software with the bugs fixed.
For every package you can create a auto-deploy policy. That means that whenever a new version is released, PDQ Deploy can download and upgrade the software automatically. You can choose a deployment action. You can approve new versions Manually, Immediately when the version is released or you can choose to wait for example 7 days and then when no major problems are found, deploy the software on computers automatically.This is the safest option, but there are cases where you will choose to upgrade immediately.
Second feature that I found amazing is how it handles ”upgrades”. They have created a predefined set of rules for each program. In case of FileZilla, steps for installation / upgrade goes like this: Shutdown FileZilla, Install FileZilla, Disable Auto Update and then Delete Uninstall Icon (see, disabling auto update is already in built in to deployment rule and so is deleting a uninstall icon) .
This makes a great user experience as user doesn’t have to reboot a computer to get the latest version and it also prevents errors with installation.
Why I love this type of installation is Java.
Java is quite insecure, has regular updates with bug fixes, browsers hate it, and when new update is released, you can be pretty sure that end users will call you about a question found in the browser. While very simple question, do you want to run insecure version of Java, end users have problems because they don’t know the answer.
Why is Java still used a lot? The reason is pretty simple. It’s heavily used on the computers where it’s used for web based applications that require additional security. Now with web browsers blocking Java after new version get’s released it’s even more important to have a system in place which can automatically deploy and upgrade Java. And because you can create rules you can choose which computers need Java upgraded automatically. For Java, I select computers that require Java for web applications and choose to deploy the update as soon as it’s released.
Because PDQ Deploy works so great you can afford to install the latest version, in case of a problem with the latest version of the program you can immediately fall back to the old version.
In some cases it’s important to exclude computers. You can add your filters and create a rule based on your policy.
A lot to like
Locations connected via WAN link like MPLS or VPN where connection speeds are slower and could get saturated, PDQ Deploy has a solution that works great. In order to save network bandwidth you can limit Concurrent targets per Deployment and thus save link being too saturated. There are two modes you can use for deployment depending on your infrastructure / use case:
- Push when using a push mode, PDQ Deploy will automatically push software package on a client computer and execute installation. While using this mode I had never had a problem, including installing software on WAN locations (software upload was limited by the network speed which was 50Mb/s).
- Pull mode can be used for remote locations where you first upload software packages on a network share on a remote location and then specify remote path where PDQ Deploy agent can pull installation files from.
Spiceworks users will be happy to know that they can integrate PDQ Deploy with Spiceworks and use it’s inventory database for deployments / upgrades. First you use an inventory, secondly you can use software alerts from Spiceworks for upgrading software. For example Spiceworks can find a group of computers with old version of LibreOffice. You can select this group and update the software. Adding Spiceworks to PDQ Deploy is pretty straightforward. First, add a host name for example myspicworksserver, then select port, add your email and password and you start with Inventory synchronization.
How to spice up deployments
Not every deployment is the same, so you can’t apply the same logic to all deployments. Some times you have to limit deployments based on criteria. The most basic limitation is by the Active Directory Organization Unit (Cash Desk computers in Cashiers OU should have Java installed, but others should not). But what if you need more from deployment tool?
You can set up deployment to match only certain criteria. Conditions that you can apply are:
- OS Version – In some cases you would like to limit software deployment based on OS Version, for example, you don’t want a specific package be installed on a Windows XP computer.
- Architecture – You can limit installation by the architecture (32bit vs 64bit)
- Logged on State – In some cases, you would want to install (or upgrade) a software only if a user logged off or is logged in. For example, you may not want to upgrade Java and thus close the Java application while the cashier is serving customers.
We have the ability to set up conditions, but what about additional steps with deployment? You can add additional steps to deployment.
- Reboot – this action will display a message and restart a computer after pre-defined seconds.
- Sleep – Sleep action will pause package deployment for 15 seconds (default, but can be changed) so that other procedures can finish doing whatever they need to do before continuing.
- Command – you can run custom commands as part of the installation. For example, Auto-Update lock the computer, run a custom script….
- Nested Package – Nested package is a welcome addition to pre-configured steps. You can run additional additional executables on a target computer as part of the original deployment. You can create folders, install additional software all by running one deployment. Example where this is really useful is when you have for example ERP which is running from a network share. First you need to install Oracle client, then you have to create local folders for temporary files, copy shortcuts, possible install Oracle, Visual Basic or .NET runtime and when you combine all of the steps, you have a working program.
- File Copy You can copy files from remote location and to a local folder
- Logoff When deployment is complete you can Logoff the user.
- Message You can send a message to the user. For example, before you start with deployment you can notify user that computer will get slower and could get restarted or something similar.
PDQ Deploy is available in three editions: Free, Professional, and Enterprise. Free like name implies is totally free to use but is limited with features. One major feature you’ll miss is Software repository.
You can use free version to deploy many file types for example MSI, EXE and MSP. It also supports script based installations in VB Script batch (cmd) and PowerShell. Free version is must for small organizations as the free version addresses many deployment needs.
Professional edition has a software repository but is limited with the Software selection. Enterprise version has a full software selection on the other hand. You can find a list of available programs for Proffesional version and Enterprise version on this link.
Professional and Enterprise versions have most things in common such as:
- In addition to immediate deployments you can schedule deployments and set up individual schedules
- Creating Multiple Step and Chained (Nested) Packages in to a single installation order
- Throttling Bandwidth (ideal for WAN locations)
- Setting up Wake-On-Lan & Heartbeat Schedule
- Email Notifications about the Status
- Setting up Automatic inventory scans after deployment with PDQ Inventory integration
Enterprise edition has in addition to above features some features that are not part of Professional version. First main advantage is access to a full software library. It’s also multi-user friendly, meaning that if you have more than two admins, they can share packages and information across the installations. In addition, Enterprise edition enables auto deployment of Library packages and has a retry que which is not part of Professional version.
If you use a PDQ Inventory (complementary application for Network inventory) you can choose to scan those computers as well.
With Enterprise version, when you have two or more PDQ Deploy installations, you can share program repository, meaning that if a colleague already downloaded Skype, your installation will use his download and installation can start immediately.
Final word and Pricing
PDQ Deploy Free is Free, Pro is $250 per administrator and Enterprise is $500 per Administrator. I don’t think that either of this options will break a bank. And I think that you get a lot for the buck.
As for me, I have solved my problem, thank god for the trial version, I have deployed Skype to directors computer and what do you know, maybe next year, I will be a PDQ Deploy user. Oh, one more thing, from what I have seen PDQ Inventory is pretty impressive. If you ‘ll evaluate PDQ Deploy, take time and install PDQ Inventory as well.
If you start with a trial make sure to check their video tutorials on Admin Arsenal YouTube channel. Before looking at first video I thought that their video tutorials are boring, but what a surprise. All the tutorials are based on real use cases, showing you information that perhaps you thought was not there.
On top of great videos, presenter Shane, makes looking at tutorials fun again. In a true geek fashion, drinks beer in the middle of the session, has long beard and presents cases with a flair.
I really recommend to watch a recorded webinar were you can see many features explained thoroughly.
From what I have seen, Admin Aresenal is a really nice company, for one, it’s not ruined by the marketing department running the business. Instead, they code great software, and produce great tutorials making your work easier and faster.