This is normally a simple task but for some reason nothing I try will uninstall the older version of Java when I install the new version. 


I currently have Java 6 Update 29 installed.  When I install Java 7 Update 17 it does not remove 6.  Both products have the same upgrade code but different package and product codes as they should. 

Here is what I have in my Upgrade table:

{57BDA5C6-443C-4D65-B233-2823932170FF}    0            256        ISACTIONPROP1

I added the ActionProperty ISACTIONPROP1 to the SecureCustomProperties property in the Property table.

Looking at the log file it doesn't look like the FindRelatedProducts is finding previous version is installed?


 Action start 13:11:42: LaunchConditions.
MSI (s) (38:78) [13:11:42:371]: Doing action: FindRelatedProducts
Action ended 13:11:42: LaunchConditions. Return value 1.
MSI (s) (38:78) [13:11:42:371]: Transforming table Upgrade.

Action start 13:11:42: FindRelatedProducts.
MSI (s) (38:78) [13:11:42:371]: Skipping action: SameVersionAlreadyInstalledAsStatic (condition is false)
MSI (s) (38:78) [13:11:42:371]: Skipping action: CCPSearch (condition is false)
MSI (s) (38:78) [13:11:42:371]: Skipping action: RMCCPSearch (condition is false)
MSI (s) (38:78) [13:11:42:371]: Doing action: ValidateProductID
Action ended 13:11:42: FindRelatedProducts. Return value 1.
Action start 13:11:42: ValidateProductID.
MSI (s) (38:78) [13:11:42:371]: Doing action: setUserProfileNT
Action ended 13:11:42: ValidateProductID. Return value 1.
MSI (s) (38:78) [13:11:42:371]: Transforming table CustomAction.

Answer Summary:
0 Comments   [ - ] Hide Comments


Please log in to comment

Answer this question or Comment on this question for clarity



Try this

UpgradeCode - UpgradeCode of Previous Version

VersionMin - NULL

VersionMax - ProductVersion of Current MSI

Language - ProductLanguage of Previous Version

Attributes - 512


ActionProperty - ISACTIONPROP1

Move RemoveExistingProducts standard action in between the InstallValidate and InstallInitialise actions in Execute Immidate

Answered 04/04/2013 by: jagadeish
Red Belt

  • Tried what you suggested. "RemoveExistingProducts" was already between "InstallValidate" and "InstallInitialize."

    Now I'm wondering if the original product is registering correctly but not sure how you can verifty that?
Please log in to comment

Add this to upgrade table of Java 1.7 transform the following

Upgrade code: upgrade code of Java 6 U 29 - {57BDA5C6-443C-4D65-B233-2823932160FF} (see *60FF, 60 being for java 6)

VersionMin: 0

VersionMaz: Null

Attributes: 768

Remove: Null

Actionproperty: eg:UPGRADE_1(in cap) - Each row in the Upgrade table must have a unique ActionProperty value.

So totally you will have three rows after this - 2 from original extracted msi.

If you still face issue, confirm FindRelatedproducts and RemoveExisting products are sequenced correctly and let us know. Happy packaging!

Answered 04/04/2013 by: SnowLyric
Second Degree Brown Belt

  • I have fixed it but I had two different issues. The first was the version. I was using 1.7 but that is actually less than 6.0.290 which is what version 1.6 is reported as. I also had missed that the Upgrade Code is only one character different than the newer version.
Please log in to comment

Just out of curiosity, your previous installs were not "static" installs were they? If you have used this option in the past that would make your previous versions persist through updated installs. If you're using KACE, the patching module doesn't do a good job of updating Java while users are logged in. You have 2 good options in the scenario you're in.

Have a script target your old Java 6 that will have a first task to uninstall Java 6 and veryify the uninstall is complete. The second part scripts the install of Java 7 u 17. If you need more help or specifics I'd be happy to provide some assistance.

Answered 04/04/2013 by: GeekSoldier
Red Belt

Please log in to comment