我的安装 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/