0

I have a Basic MSI Project that is being used to install an application. Due to various reasons this package includes a JRE. Within the InstallShield2016 project the packaged JRE is represented by a Component. The files that make up the JRE Component are dynamically linked.

Recently, I migrated from Oracle Java 8 to OpenJDK 8. For this migration I made the necessary changes to perform a major upgrade when going from the older package to the newer one. This results in InstallShield uninstalling the previous package first and then installing the new one.

This is where I run into an issue. In the process of removing the old and installing the new, the MSI looks at the 'jvm.dll' from the Oracle Java 8 JRE and then at the same file in the OpenJDK 8 JRE and sees that the file version of the new file is lower than that of the older file.

Oracle Java 8 'jvm.dll' File Version: 25.45.0.2

OpenJDK 8 'jvm.dll' File Version: 8.0.2220.10

Short of manually changing the file version I'm not really sure how to force the new file being installed over the previous one. Are there any alternatives?

Siegnir
  • 1
  • 2
  • Have a read of this: https://blogs.msdn.microsoft.com/astebner/2015/11/16/why-windows-installer-removes-files-during-a-major-upgrade-if-they-go-backwards-in-version-numbers/ – Captain_Planet Oct 29 '19 at 13:53
  • The 4th option listed seems like a potential solution for my situation. Thank you for the link. – Siegnir Oct 30 '19 at 17:15

0 Answers0