We have been happily rolling out Java 6 updates to machines with Java 6 installed with very few issues.
We have been happily rolling out Java 7 updates to machines with Java 7 installed also with very few issues. Java 6 is now clearly dead so we need to get all our PCs onto Java 7 and un-install Java 6.
I'm just thinking about how to go about this and wondering if people have done this before and could save me re-inventing the wheel.
What I don't want to do is to install the latest Java 7 runtime to every PC, some PCs don't currently have Java and don't need it installing, some already have Java 7 installed and it will be upgraded with our normal Patch Manager updates. I just want to target machines with Java 6 installed that don't have Java 7.
My current thinking is to install Java 7 on the machines with Patch Manager and subsequently use SCCM to un-install Java 6 as I need lots of flexibility as I have nearly every version of Java 6 to remove from at least one machine.
I could modify a Java 7 *upgrade* package so it just targets PCs with Java 6 (and no Java 7). I'm not sure the 'logic' within the package (ie the packageboot.xml) is appropriate to upgrade from Java 6. I could compare it to that in a Java 6 upgrade package, but there are tens of different versions of Java 6 and and testing all the permutations would be a nightmare.
I could modify a Java 7 *install* package so it just targets PCs with Java 6 (and no Java 7). I fear there will need to be some logic adding to the packageboot.xml to deal with services and open files, but as I'm dealing with such a wide range of Java 6 installations determining what this should be could also be a nightmare.
I could un-install *all* versions of Java 6 before installing Java 7 (using the install package) but I fear this will also cause problems. . .
I can't pop up a window advising the user what's happening and don't restart your web browser until the process is complete.
The process will take minutes!
If the process fails I could be left with machines that have no Java installed so I won't be able identify them as needing Java for future fixes.
Has anyone done anything like this or have ideas as to the best way forward?
(NB: I could be dealing with up to 6000 PCs) Ouch!