This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Should Sun Java Upgrades remove previous installed version?

Have just created a Sun java Package to upgrade installed java to 1.6_31.

I was under the impression that Java now uninstalled the previous version only leaving the upgraded version behind, or is that a case of wishful thinking?

 

The upgrade package I created successfully managed to install 1.6_31, however it left the old version of 1.6_03 still installed. Is the package set up to automatically uninstall old versions, or is it something I have to add to the package logic?

  • Hi, there.

    We were able to duplicate this on our end, so for now I'd say this is expected behavior. One suggestion would be to use PackageBoot to uninstall 6u3 prior to installing 6u31.

    I'll keep you posted if I learn anything else interesting.

    Thanks.

  • Excuse my ignorance, but what is PackageBoot?

  • Would you happen to have a template I could follow to uninstall a version of Java?

  • I'll check with Dev to see if I can get something for you. In the meantime, to start to answer both of your questions, check out the following doc:

    Third Party Updates Local Publishing Administration Guide (June, 2011)

    Hope that helps.

  • I checked with Dev and read through the "PackageBoot" section of the doc linked above, and I think that's just what you'll need.

    To enable PackageBoot for an update package:

    1. Start the Package Wizard for the new package.
    2. On the Select Package screen, select Use the Package Boot Helper program..., and then click the icon to the right of that option. This opens a PackageBoot.xml template that you can use to uninstall prior versions of JRE before or after installing the new version.
    3. Fill in the template using the instructions in the "PackageBoot" section of the 3PUP Admin Guide. In your case, the <program> node is what you'll need, either in the Preexecution or Postexecution phase, according to your preference.

    Let me know if you have any specific questions.

    Thanks.

  • Would it be possible for one of the Devs to cut and paste in the actual commands that would be required for the uninstall of 1.6_03? And where they would need to be inserted into the PackageBoot XML?

    Plus what, if any, additional files need to be referenced?

     I am not the world's greatest coder and my XML knowledge is minimal at best.

    Is there a Knowledge Base of custom installs/uninstalls that can be referenced, into which Devs can drop stuff in, or customers can share their templates/solutions?

  • We have the Content Exchange for customers to share things like this, but we don't currently have a spot there for Patch Manager. Until that area becomes more robust from a Patch Manager perspective, here's a little more information about what you're trying to do:

    • You can find defaultpackageboot.xml in %ProgramFiles%\EminentWare\Server\templates on the Patch Manager/EminentWare server if you want to look at it outside of the Package Wizard.
    • Anything in this file that is surrounded by <!-- ... --> is a comment, which we've used to provide instructions on how to manipulate the XML code for your individual use.
    • In your case, all you need to do is change the name and enabled values in one of the <program> nodes in the <preexecution> phase (illustrated below):
      • name: Enter the MSI Product Code for the JRE you want to uninstall. You can find this in the installer's Properties on the Details tab in Windows.
      • enabled: Change the value to true.

    Hopefully this is helpful. Thanks for reaching out.

  • This might be a good idea when upgrading your clients from JRE6 to JRE7. I will plan on giving this a shot as well. It will be my first roll-your-own packageboot, but since I can't create an uninstall task for the JRE installations, it's the only way.