这个问题是关于 install4j 4.2.8 的。
我们正在使用 install4j 为我们的 java 应用程序创建一个“windows 存档”类型的媒体文件。尽管大多数用户都乐于下载我们的 .exe 安装程序,但有些客户需要 msi,因此我们使用此 .zip 工件作为使用第三方工具创建的 msi 的基础。
除非涉及到合并捆绑的 jre(非共享),否则这可以正常工作。似乎默认情况下,install4j 使用 pack200 算法压缩 jre 层次结构中的某些 jar 文件(例如 rt.jar),并在第一次运行启动器可执行文件时解压缩它们。
这个过程显然适用于从 exe 安装程序安装的安装,但似乎在我们的 msi 安装(如前所述是从 windows .zip 工件创建的)中失败了很多时间。我查看了 install4j 手册,看看是否有某种方法可以关闭此压缩,但 jre 包创建工具似乎没有任何此类参数可以这样做。而且这种行为很好,所以不用它就很好。
关于为什么在某些情况下解包过程可能会失败的任何想法?