AutoDeployment versions and success tracking
I hope I'm missing something, but-- I can't find an answer in any knowledge base article or elsewhere...
Does PDQDeploy have a mechanism to track versions installed and installation success for AutoDeployment packages, so that existing and up-to-date packages can be skipped when the AutoDeployment is run regularly so that applications are kept up-to-date?
I have Heartbeat (we have Inventory) and Interval triggers set for our core AutoDeployment sets so that when those core apps are automatically deployed when new machines are imaged and so that the packages are kept up-to-date when new versions are released, but it seems that many if not most of those installations run completely every time instead of "only if necessary" ("only if necessary" means, if the package is missing or if the version is old.)
For some of our large internal deployments, (for example, AutoCAD and Office), I can get around this: first step of those packages is to look existence of a "flag" file and skip the rest of the steps "with success" if the file exists. (Final step of those packages is to create the "flag" file on installation success-- so future runs will know to skip.) This lets me run these packages automatically via heartbeat a new machine first comes online but still be able to run it over and over (when machines start each day, for example) without having to download and run the huge installers each time. This would also allow me to trigger a reinstall by simply deleting that flag file.
To create this kind of process manually for AutoDeployments seems like it would rather defeat the purpose of AutoDeployment! But, it isn't helpful to see tons of "fails" in my deployment history when an installer can't overwrite a running file, for example, because the package is already installed and the application is current and the user is using the package!
Am certainly open to suggestions or further discussion, but if the answer is to create "smart groups" inventory for each version of each AutoDeployment app-- that's the "manual" step that would defeat the purpose of AutoDeployment!
Thank you, Mike
Comments
Hi Mike,
as long as we are talking about software which are part of the default "PDQCollection Libary" its easy, use the conditions tab under properties and say "Is Not A Member" of PDQ Inventory Collection -> Application(latest)
You can keep the original package untouched, use the condition only for the nested package inside your basic package
For Exampel: Adobe Reader DC
This Way Adobe Reader only gets deployed if:
It's on you, it's also possible to say only deploy if "Is A Member" of "Adobe Reader (not installed)". Then only devices without Adobe Reader DC are touched, old ones are skipped. This way you avoid a failure if the software is in use during the deployment.
To track your own software, there ist no way around to build a custom collection for each software to track the (old), (latest) and (not installed) status and pointing with the conditions on them.
This solution works best with scanned devices, a unscanned device can never be part of a (old) or (latest) collection.
========================
Or you try the "File" condition
For Example MS Office 16:
File -> Does Not Exist -> C:\Program Files (x86)\Microsoft Office\Office16\winword.exe
Only if no winword.exe is found, the deployment starts. But keep in mind we have different pathes for the same software on 32bit and 64bit devices.
Greetings
Chris