/build/static/layout/Breadcrumb_cap_w.png

Uninstall mulitple versions of JRE

Hi All.

This is my first time here and pretty new to the automated deployment experience.

Basically I am trying to consolate all of our versions of JRE on our users machines and would like to uninstall existing versions and reinstall the latest version.

Below are the version we have on machines now:

J2SE Development Kit 5.0 Update 1
J2SE Development Kit 5.0 Update 6
J2SE Development Kit 5.0 Update 8
J2SE Runtime Environment 5.0 Update 1
J2SE Runtime Environment 5.0 Update 10
J2SE Runtime Environment 5.0 Update 2
J2SE Runtime Environment 5.0 Update 4
J2SE Runtime Environment 5.0 Update 5
J2SE Runtime Environment 5.0 Update 6
J2SE Runtime Environment 5.0 Update 8
J2SE Runtime Environment 5.0 Update 9
Java 2 Runtime Environment Standard Edition v1.3.1_03
Java 2 Runtime Environment, SE v1.4.0
Java 2 Runtime Environment, SE v1.4.0_01
Java 2 Runtime Environment, SE v1.4.1_01
Java 2 Runtime Environment, SE v1.4.1_02
Java 2 Runtime Environment, SE v1.4.2
Java 2 Runtime Environment, SE v1.4.2_01
Java 2 Runtime Environment, SE v1.4.2_03
Java 2 Runtime Environment, SE v1.4.2_05
Java 2 Runtime Environment, SE v1.4.2_06
Java 2 Runtime Environment, SE v1.4.2_10
Java 2 Runtime Environment, SE v1.4.2_11
Java 2 Runtime Environment, SE v1.4.2_13


To do this I need the msi product/package codes to tell wise to uninstall these, does anyone know a easy way for me to get these or a better way of removing the installations?

Many thanks.
Lee.

0 Comments   [ + ] Show comments

Answers (16)

Posted by: gmorgan618 17 years ago
Blue Belt
1
Ok now for the fun stuff... the easiest way to compare what i'm about to say is probably to create a script that does the matching for you...

I'm going to use the word - reversed - in the registry the GUID's are *almost* reversed... I'll explain how to translate them at the end of this...

a list of reversed-upgrade codes on your machine is found here...
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes

each subkey is a reversed-upgrade code, opening each key will(should) display a single(multiple if more than one upgradable app installed) String registry value

This single registry value is the reversed-GUID of the application... but it refers directly to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products

each key listed here is the reversed-GUID of an installed(or previously installed in some cases) application.
Use the InstallProperties key to figure out what the application is.

So if HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\20A7FB42A06BB49448A397B3CB77ED4D contains a Reg_String value of CD1A110AD1F78AE4DB11C0F579814E82 ... you would go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\CD1A110AD1F78AE4DB11C0F579814E82\InstallProperties and look at the DisplayName value to figure out the application the upgrade code refers to.

So now we have our reversed-upgradecode of 20A7FB42A06BB49448A397B3CB77ED4D .... to get the actual Upgrade code -- Now it's really getting tricky..

UpgradeCode guids(Guids in general) are in this form {12345678-1234-1234-1234-123456789ABC}
A reversed GUID is formated like this - 87654321 / 3186 / 4321 / 2143 / 214365879ACB - I've broken up teh sections with slashes... the actual result is 87654321318643212143214365879ACB
So......
Guid = {12345678-1234-1234-1234-123456789ABC}
Reversed-GUID = 87654321318643212143214365879ACB

Basically the first 3 sections are completely reversed(for each individual section) and every 2 numbers after that are swaped... all { and - are removed
To use this Upgrade code in the MSI you'll have to reformat it to {12345678-1234-1234-1234-123456789ABC}


Like i said, a script would probably be the easiest way... I hope this helps somewhat...

-Grant
Posted by: gmorgan618 17 years ago
Blue Belt
0
Some of those installation are MSI i believe, you'll have to gather the Upgrade codes...

Else you can script the uninstall -

Have the script run through the Uninstall Key and uninstall everything that says Java in the name...

That is what my company did any... There might be a Java clean up utility out there somewhere...
Posted by: nheim 17 years ago
10th Degree Black Belt
0
Hi Lee,
Use the upgrade codes as Grant suggested. But there is special case with the most of this versions, because SUN put wrong version values into all of the releases until 1.5.070
From 1.5.080 onwards, they are correct. See:
http://itninja.com/question/uninstall?-major-upgrade?&mpage=1&key=java%2Cupdate%2Cversion䨮

Regards, Nick
Posted by: lpryor 17 years ago
Senior Yellow Belt
0
Thanks Nick and gmorgan.

I have all the upgrade codes now and have entered them into the upgrade part in wise. Do you need to set the version values?

Lee.
Posted by: nheim 17 years ago
10th Degree Black Belt
0
Hi Lee,
not necessary here, as all of them have their own upgrade code.
See: http://msdn2.microsoft.com/en-us/library/aa372379.aspx
Regards, Nick
Posted by: sstelzer 17 years ago
Yellow Belt
0
nheim,

I'm also creating a script (with Kixtart) to uninstall all versions of JRE and replace them with the latest version (ie. install 1.4.2_13 only if any prior version of 1.4.x was installed, same with the 1.5 and 1.3 series). I have it all figured out except the 1.4.1 versions - I can share the script with you when it's done, and I'm planning delivering this script via CA Unicenter as if it were an application installation.

The 1.4.1 versions were originally packaged by Sun with Installshield 6.00 and need a .iss file to uninstall. My script is dynamically writing a .iss file and then referring to it to perform the 1.4.1_x uninstalls, but I'm getting an error "-3" from the uninstallation, which means something is missing from the .iss file. I'm still working on that part (it's why I came to appdeploy.com today). If anyone can help with that it would be great. When I run the uninstall command without the -s switch, I only get the dialog stating "it's already installed; would you like to uninstall it?" So it's not like Installshield really needs to know anything else.

---edit---> I resolved the issue writing iss files 1/30/07. I was leaving out a left bracket *duh*. My little kix script now detects and uninstalls all versions of JRE up the the latest.
Posted by: gmorgan618 17 years ago
Blue Belt
0
Here are all the upgrade codes for version 1.5.0.1 to 1.5.0.10

{3248F0A7-6813-11D6-A77B-00B0D0150100}
{3248F0A7-6813-11D6-A77B-00B0D0150090}
{3248F0A7-6813-11D6-A77B-00B0D0150080}
{3248F0A7-6813-11D6-A77B-00B0D0150070}
{3248F0A7-6813-11D6-A77B-00B0D0150050}
{3248F0A7-6813-11D6-A77B-00B0D0150050}
{3248F0A7-6813-11D6-A77B-00B0D0150040}
{3248F0A7-6813-11D6-A77B-00B0D0150030}
{3248F0A7-6813-11D6-A77B-00B0D0150020}
{3248F0A7-6813-11D6-A77B-00B0D0150010}

Notice a pattern? I hate this crap - they are all teh same family, the upgrade code should all be the same

Use a version of 1.5.0 for all Upgrade table entries...

I just finished updating the 1.5.0.11 msi with this info and it worked like a charm.
Posted by: sstelzer 17 years ago
Yellow Belt
0
It gets better. The codes for all the versions at least have simple patterns except the 1.4.1 family. These are the keys under HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall for that family (used with Installshield 6, not MSI)

{CD0159C9-17FB-11D6-A76A-00B0D079AF64} 1.4.1
{1666FA7C-CB5F-11D6-A78C-00B0D079AF64} 1.4.1_01
{EFCE5837-FC21-11D6-9D24-00010240CE95} 1.4.1_02
{C4B03AEB-33D3-11D7-9D37-00010240CE95} 1.4.1_03
{ACD27BF3-7CDC-11D7-9D4D-00010240CE95} 1.4.1_04
{78D082B3-ACEE-11D7-9D64-00010240CE95} 1.4.1_05
{6B2F032F-CC54-11D7-9D67-00010240CE95} 1.4.1_06
{CA532E73-1BB7-11D8-9D6A-00010240CE95} 1.4.1_07
Posted by: gmorgan618 17 years ago
Blue Belt
0
sstelzer if those keys are under the Uninstall key then those are the application guids - which you're correct it looks pretty messy...

what i posted though was just the upgrade codes, not the product codes - just so everyone knows
Posted by: lpryor 17 years ago
Senior Yellow Belt
0
ORIGINAL: gmorgan618

Here are all the upgrade codes for version 1.5.0.1 to 1.5.0.10



That is exactly what I was after. I think I found the product codes and that why it wasn't working. How can I find the "upgrade codes" of the other versions I have install around the place?

Edit: I don't have the original msi's. Is there a way of finding them in the registry or somewhere else in Windows?

Thanks!
Lee.
Posted by: lpryor 17 years ago
Senior Yellow Belt
0
ORIGINAL: gmorgan618
So now we have our reversed-upgradecode of 20A7FB42A06BB49448A397B3CB77ED4D .... to get the actual Upgrade code -- Now it's really getting tricky..

UpgradeCode guids(Guids in general) are in this form {12345678-1234-1234-1234-123456789ABC}
A reversed GUID is formated like this - 87654321 / 3186 / 4321 / 2143 / 214365879ACB - I've broken up teh sections with slashes... the actual result is 87654321318643212143214365879ACB
So......
Guid = {12345678-1234-1234-1234-123456789ABC}
Reversed-GUID = 87654321318643212143214365879ACB

Basically the first 3 sections are completely reversed(for each individual section) and every 2 numbers after that are swaped... all { and - are removed
To use this Upgrade code in the MSI you'll have to reformat it to {12345678-1234-1234-1234-123456789ABC}



Thanks heaps Grant!! I'm almost there. I have be trying this on JRE 1.5.0.10 as a test.

The proper GUID is:
3248F0A7-6813-11D6-A77B-00B0D0150010

I get this out of the registry:
7A0F8423-3186-6D11-7AB7-000B0D511000

I can convert the first 3 parts fine but cannot for the life of me figure out the last two parts:
3248F0A7-6813-11D6-7BA7-000B0D511000

Could you re-explain the swapping of every second digit? I'm so close!!!

Thanks to everyone once again.
Posted by: gmorgan618 17 years ago
Blue Belt
0
Your proper GUID is for 1.5.0.1 - 3248F0A7-6813-11D6-A77B-00B0D0150010


The proper GUID for 10 is 3248F0A7-6813-11D6-A77B-00B0D0150100

For - 7A0F8423-3186-6D11-7AB7-000B0D511000
its - 3248F0A7-6813-11D6-A77B-00B0D0150100

For the last 16 numbers every pair of numbers is reversed so 7B = B7

In the upgrade table - rememeber you have to add { }'s

Does it work? I'm excited now.... haha

-Grant
Posted by: turbokitty 17 years ago
6th Degree Black Belt
0
I'm assumig you've tested all your Java-dependant applications with the version you'll be replacing these with? Many apps written for 1.4x don't like 1.5x.

[:D]
Posted by: lpryor 17 years ago
Senior Yellow Belt
0
We are actually trying to standedise on one version. Alot of people are running 1.5 already with multiple updates.

Just trying to remove all existing versions and go to the latest 1.5.
Posted by: schieb 17 years ago
Purple Belt
0
I am sure all this reverse guid'ing is fun but why not just browse the uninstall key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{FindYourAppGuid}
Then find the UninstallString

change the msiexec /I to msiexec /X and add a /qn.... you're done.

Here is my job that works:
REM Remove previous versions and install update 10
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150000} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150010} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150020} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150030} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150040} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150050} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150060} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150070} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150080} /qn
msiexec /x {3248F0A8-6813-11D6-A77B-00B0D0150090} /qn

REM Install Java Runtime 5.0 Update 10
msiexec /i "JRE_1_5_0_10\J2SE Runtime Environment 5.0 Update 10.msi" TRANSFORMS="JRE_1_5_0_10\J2SE Runtime Environment 5.0 Update 10.mst" /qb-
Posted by: jerthedude 17 years ago
Yellow Belt
0
I ran into this same issue, but needed to uninstall all of the 1.4.2 versions. Below are all of the upgrade codes for the 1.4.2 family.

{7148F0A7-6813-11D6-A77B-00B0D0142000} 1.4.2
{7148F0A7-6813-11D6-A77B-00B0D0142010} 1.4.2_01
{7148F0A7-6813-11D6-A77B-00B0D0142020} 1.4.2_02
{7148F0A7-6813-11D6-A77B-00B0D0142030} 1.4.2_03
{7148F0A7-6813-11D6-A77B-00B0D0142040} 1.4.2_04
{7148F0A7-6813-11D6-A77B-00B0D0142050} 1.4.2_05
{7148F0A7-6813-11D6-A77B-00B0D0142060} 1.4.2_06
{7148F0A7-6813-11D6-A77B-00B0D0142070} 1.4.2_07
{7148F0A7-6813-11D6-A77B-00B0D0142080} 1.4.2_08
{7148F0A7-6813-11D6-A77B-00B0D0142090} 1.4.2_09
{7148F0A7-6813-11D6-A77B-00B0D0142100} 1.4.2_10
{7148F0A7-6813-11D6-A77B-00B0D0142110} 1.4.2_11
{7148F0A7-6813-11D6-A77B-00B0D0142120} 1.4.2_12
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ