Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将依赖Java的应用程序与MSI中的JRE捆绑在一起_Java_Wix_Windows Installer_Wix3 - Fatal编程技术网

如何将依赖Java的应用程序与MSI中的JRE捆绑在一起

如何将依赖Java的应用程序与MSI中的JRE捆绑在一起,java,wix,windows-installer,wix3,Java,Wix,Windows Installer,Wix3,这与JRE类似,但也特别涉及绑定JRE 我目前正在为我的产品构建MSI,以便它可以作为Windows Home Server的附加组件安装安装程序必须是静默MSI安装程序。 我的产品依赖于Java1.6。我想在MSI中捆绑Java,但不一定要安装JRE,只需将文件复制到我的产品目录并从那里执行即可 起初,我尝试安装JRE作为第一步。我使用了,但是事实证明,由于JRE是通过另一个MSI安装自己的,在幕后,一次运行一个MSI的规则被打破了,因此无法安装JRE 所以我改为复制JRE文件。我已经设法创建

这与JRE类似,但也特别涉及绑定JRE

我目前正在为我的产品构建MSI,以便它可以作为Windows Home Server的附加组件安装安装程序必须是静默MSI安装程序。

我的产品依赖于Java1.6。我想在MSI中捆绑Java,但不一定要安装JRE,只需将文件复制到我的产品目录并从那里执行即可

起初,我尝试安装JRE作为第一步。我使用了,但是事实证明,由于JRE是通过另一个MSI安装自己的,在幕后,一次运行一个MSI的规则被打破了,因此无法安装JRE

所以我改为复制JRE文件。我已经设法创建了一个MSI的所有项目,但它来了一个惊人的60MB!我的应用程序大约有33MB,其余的是JRE。我的普通setup.exe捆绑了JRE,它大约是30MB,所以我假设在后一种情况下压缩效果更好(我在那里也使用Pack200压缩)

我正在使用WiX来构建MSI,并打开了压缩


在MSI中捆绑JRE和相关应用程序的最佳方式是什么?

您只需将整个(未打包的)JRE目录添加到安装程序文件中即可。然后从给定的已知路径运行JRE。许多产品(例如DB2、oracle11g甚至websphereapplicationserver)都是这样做的