java仅为安装程序和应用程序将jre嵌入WInrun4j一次
为了安装我的Windows桌面应用程序,我使用izpack创建了一个安装程序,然后使用winrun4j从exe调用它,这也是izpack安装的一部分,添加另一个winrun4j包装,以便在安装后实际运行应用程序
问题是,对于win4runj来说。exe要工作,它需要使用正确的Java类型,即如果exe是64位,它必须运行64位jvm,如果exe是32位,它必须运行32位jvm。这可能会让用户感到困惑,所以我打算利用winrun4j使用嵌入式jvm,然后提供两个下载
- widgetinstaller。exe(32位)
- widgetinstaller64。exe(64位)
但我的困惑是,对于每次下载,我只想嵌入jvm一次,但无法解决如何做到这一点,因为我有两个EXE(安装程序和程序本身),这能做到吗
更新
如果我安装两次JVM(一次在使用izpack构建时包含在install.jar中,一次添加到zip文件中,以便widgetinstaller.exe使用),它就可以工作了
- widgetinstaller。exe驻留在c:\code\widget\installer中
- 从Oracle下载32位jre
- 安装到c:\code\widget\32bitJVM中
- 编辑izpack。xml,添加
<file src="C:/code/widget/JVM32bit" targetdir="$INSTALL_PATH"/>
- 添加安装程序vm。location=32bitJVM/bin/client/JVM。dll到c:\code\widget\installer\widgetinstaller。伊尼
- 为小部件本身添加虚拟机。地点=/32bitJVM/bin/client/JVM。dll到c:\code\widget\widget。伊尼
- 重新生成代码,并在zip文件中包含32bitJVM以创建widgetinstaller。zip(包含32位JVM、widgetinstaller.ini、widgetinstaller.exe、widgetinstaller.ico和install.jar)
- 解压缩并双击widgetinstaller。要安装的exe
但是我只想要一次JVM,我知道我需要从izpack中删除<file src="C:/code/widget/JVM32bit" targetdir="$INSTALL_PATH"/>
。xml,但如何将32位JVM复制到程序安装文件夹中
同一个JVM需要保存到程序文件夹中
似乎这必须在izpack之外完成
编辑
解决方案是使用Can I install a file using Izpack 5 without it being part of the install.jar built by izpack中描述的Izpack松散包
但是,必须为路径设置什么是相当令人困惑的,文档错误地暗示您放入了一个相对链接http://izpack.org/documentation/installation-files.html#the-packs-element-packs
示例
izpack安装。xml位于C:\code\Widget\installer中
<pack name="Base" loose="true" required="yes" preselected="yes">
<description>JVM</description>
<file src="C:\Code\Widget\JVM" targetdir="$INSTALL_PATH"/>
</pack>
打包时,izpack安装应具有:
JVM
install.jar
setup.exe
共 (0) 个答案