updating old versions of software with PDQ's package library?



  • Bahri Pakyuz

    I may be answering my own question here but Java uninstalls previous versions of java when running the installer, is this correct?

    (taken from the Java website)


    so this would mean that I can just run the package on workstaions running old versions of Java and the installer will check for and remove old versions of java currently installed?

    Comment actions Permalink
  • Luke Nichols

    > I may be answering my own question here but Java uninstalls previous versions of java when running the installer, is this correct?


    This is true now, but earlier versions of Java did not do that. Being that you have versions going all the way back to Java 6, I'm not sure if the latest Java installer will uninstall a version that old. You may just have to test this with one of your machines and see if it works as expected.

    Comment actions Permalink
  • Colby Bouma

    >Would I just need to create a separate package that uninstalls java

    We have packages in the Package Library for uninstalling various versions of Java:

    Comment actions Permalink
  • Bahri Pakyuz


    Thanks for this. I did actually find the uninstall packages for Java in PDQ - I didn't see them at the time of writing my comment. these packages are exactly what I was after.


    This was my method to get workstations running old versions.


    1) Download the uninstaller for the version of java you want to uninstall (in my case, I downloaded 6, 7, and 8 only as 8 and above has the uninstaller built in)

    2) In Deploy, create a schedule (I called mine Uninstall Java 6, Ininstall Java 10

    3) set target to 'Collection Library\Runtimes\Java (JRE)\Java 6'

    4) in the packages tab, add the Java 6 uninstall package provided by PDQ, and secondly add the Java 10 package as the second step.

    I did the same for Java 7.


    For Java 8, 9 and 10, I merged them all together with the Java 8 unisntaller / Java 10 install package



    Comment actions Permalink
  • Bahri Pakyuz

    I'm now wondering if these schedules could all be merged into a single schedule?

    Like so:


    my understanding is that all targets will go through trying to uninstall Java 6, 7, and 8, and then finally installing Java 10.

    This to me looks like a bunch of else-if statements.


    Is this method better, or my original method?



    Comment actions Permalink
  • Ryan Joachim

    That last example you posted will uninstall Java 6, 7, and 8, and then install 10 just like you said.

    You'll want to configure each step in your package with a condition specifying which collection that step is referring to, otherwise every step will apply to every machine in each of those collections - so the Uninstall Java 6 All step would have Conditions -> PDQ Inventory Collection -> Collection Library\Runtimes\Jave (JRE)\Java 6 set. This way, only machines currently in the Collection Library\Runtimes\Jave (JRE)\Java 6 collection will have the Uninstall Java 6 All package deployed to them.

    It may also be a good idea to make sure each step has Options -> Error Mode set to Stop Deployment with Error. This will make sure your final step (Install Java 10) doesn't continue before the previous version of Java is uninstalled. It's not necessary though, and completely depends on what you want and what works best for your situation.

    Comment actions Permalink

Please sign in to leave a comment.