java - 我可以使用 Izpack 5 安装文件而不将其作为 izpack 构建的 install.jar 的一部分吗

标签 java izpack winrun4j

我的安装 widget.zip zip 文件包含以下内容:

  • 32位Java
  • 安装.jar
  • widgetinstaller.exe
  • widgetinstaller.ini
  • widgetinstaller.ico

总结一下:

  • 32bitJava 是从 Oracle 下载的 32 位 JRE
  • install.jar是Izpack创建的安装程序
  • widgetinstaller.* 由 winrun4j 创建,为安装程序提供 exe 包装器。

因此,通过此设置,我可以安装我的应用程序,而无需用户已经安装 java 运行时。

但是安装后,实际应用程序还需要 java 运行时才能实际运行。因此,目前 izpack 安装中包含了 32bitJava 的副本,即它存在于 install.jar 中并在安装时安装。

但这意味着我有两个 JVM 副本,并且因为 32bitJava 比我的实际应用程序大,所以我的下载太大了。

那么如何在安装期间/之后将 32bitJava 文件夹复制到安装中,而不必将其包含在 install.jar 中?

最佳答案

您想为 JVM 做一个“松散”包。松散包不需要包含它安装的文件,因此它可以将文件从 zip 复制到适当的位置,而不是使用嵌入在 jar 中的文件。

<pack id="java" name="java" required="yes" preselected="yes" loose="true">
  ...
  <executable ...>
    <!-- something appropriate to install java -->
  </executable>
</pack>

关于java - 我可以使用 Izpack 5 安装文件而不将其作为 izpack 构建的 install.jar 的一部分吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12516240/

相关文章:

java - 限制 REST 中的 json 参数

java - 简而言之按位运算

java - IzPack 是否提供 "easy"安装模式?

java - 为什么在 Dos 窗口中运行 Java 会尝试运行包含在 exe 中的应用程序

java - 使用 Izpack 将用户输入文件类型复制到安装目录中的某个位置

java - 如何防止在 winrun4j 中显示控制台窗口

java - 我如何访问列表的数组元素

java - 在另一个时区格式化本地日期

java - Winrun4j:超过最大类路径大小

java - 从类路径设置嵌入式 Jetty war