我的安装widget.zip zipfile包含以下内容:
总结:
因此,通过此设置,我可以安装我的应用程序,而无需用户必须安装Java运行时。
然而一旦安装,实际的应用程序也需要一个java运行时才能实际运行。所以目前32bitJava的副本作为izpack安装的一部分包含在内,即它存在于install.jar中并在安装时安装。
但这意味着我有两个JVM副本,因为32bitJava比我的实际应用程序大,所以我的下载量太大了。
那么如何在安装期间/之后将32bitJava文件夹复制到安装中,而不必将其包含在install.jar中?
答案 0 :(得分:2)
您希望为JVM执行“松散”包。松散的包不需要包含它安装的文件,因此它可以将文件从zip复制到位,而不是使用jar中嵌入的文件。
<pack id="java" name="java" required="yes" preselected="yes" loose="true">
...
<executable ...>
<!-- something appropriate to install java -->
</executable>
</pack>
答案 1 :(得分:0)
将文件打包成自解压缩的存档/ zip文件,并在解压缩过程中将文件提取到您需要的位置。
维基百科上有关于自解压档案的更多信息:http://en.wikipedia.org/wiki/Self-extracting_archive
答案 2 :(得分:0)
为什么不让install.jar安装你的程序并在这里包含一个链接,而不是被迫在install.jar中包含java安装: http://www.java.com/inc/BrowserRedirect1.jsp?locale=en?这是下载当前版本java的链接。
要创建此类链接,请右键单击&gt;新&gt;快捷方式,将链接粘贴到第一个对话框中,单击“下一步”,然后将其命名为“Java安装”。这最多可以为你的软件包增加4 kb,并且仍允许你安装java(但是,用户必须手动点击它)
我正在使用浏览器重定向网址,因为它根据计算机(操作系统和处理器位)识别java人员需要的内容
答案 3 :(得分:0)
如何创建一个小的安装后实用程序来将可执行文件复制到该位置?您可以在一个小的shell脚本(或Windows上的批处理文件)中创建它,或者甚至是一个简单的C ++实用程序,只需将JVM复制到您需要的位置即可。这样,在安装该实用程序之后,然后触发安装后代码,并将JVM复制到所需位置。