首页 > 解决方案 > 使用 InstallShield,我如何“强制”特定的动态链接文件覆盖更高版本的文件?

问题描述

我有一个用于安装应用程序的基本 MSI 项目。由于各种原因,此软件包包含一个 JRE。在 InstallShield2016 项目中,打包的 JRE 由一个组件表示。构成 JRE 组件的文件是动态链接的。

最近,我从 Oracle Java 8 迁移到 OpenJDK 8。对于这次迁移,我进行了必要的更改,以便在从旧包升级到新包时执行重大升级。这会导致 InstallShield 先卸载以前的软件包,然后再安装新软件包。

这是我遇到问题的地方。在移除旧版本和安装新版本的过程中,MSI 从 Oracle Java 8 JRE 中查看“jvm.dll”,然后在 OpenJDK 8 JRE 中查看同一文件,发现新文件的文件版本为低于旧文件。

Oracle Java 8 'jvm.dll' 文件版本:25.45.0.2

OpenJDK 8 'jvm.dll' 文件版本:8.0.2220.10

没有手动更改文件版本,我不确定如何强制将新文件安装在前一个文件之上。有没有其他选择?

标签: windows-installerinstallshieldmajor-upgradeadoptopenjdkinstallshield-2016

解决方案


推荐阅读