如何绕过wix安装程序中的dll文件版本

问题描述

我有一个应用程序,我将 JRE 捆绑在主安装程序中,我首先为 JRE 创建了安装程序,然后包在主安装程序中。

我使用的是 jdk-8u152,我正在将其升级到 JDK >= 14.0.2 并使用 wix 创建 MSI 和安装程序。

使用 14.0.2 版本创建新的 JRE MSI 后,除了 jre/bin/server/jvm.dll 外,每个文件都被复制 这是因为在 jdk-8u152 中,我们将此 dll 的文件版本设为 25.71.0.1,而在 jdk-14.0.2 中,文件版本为 14.0.2.0,因此在升级期间它正在删除旧的 jvm.dll 但不复制新的 jvm.dll。

有什么办法可以告诉 Wix 忽略此文件文件版本吗?我试图将 keypath 设置为 no 但它仍然不起作用。现在唯一可以使用的方法是卸载旧版本,然后安装新版本(但这种方法在生产环境中不起作用)。

   <Component Id="cmpC382483B5DD26ED7C03CDDC0619B42D9" Guid="{1413DBE0-340B-43A5-913C-2219B75919D6}">
           <File Id="fil22C606D5B3214BF3F981341EF52BE00A" KeyPath="no" Source="$(var.JREDir)\bin\server\jvm.dll" />
   </Component>

JVM DLL for jdk-8u152

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)