我是否可以使用Izpack 5安装文件,而不是izpack构建的install.jar的一部分

时间:2012-09-20 15:46:44

标签: java izpack winrun4j

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

  • 32bitJava
  • install.jar
  • widgetinstaller.exe
  • widgetinstaller.ini
  • widgetinstaller.ico

总结:

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

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

然而一旦安装,实际的应用程序也需要一个java运行时才能实际运行。所以目前32bitJava的副本作为izpack安装的一部分包含在内,即它存在于install.jar中并在安装时安装。

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

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

4 个答案:

答案 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复制到所需位置。