我有一个Java应用程序,我正在编写安装程序。我们正在使用AdvancedInstaller程序来创建我们的安装程序(好吧,我们目前正在评估它,但肯定会很快购买许可证),虽然它对Java应用程序有特殊支持,但它更倾向于将它们重新打包为桌面 - 类型应用程序,我们的软件是一系列Java服务和其他实用程序,在EXE-wrappers中分发是没有意义的。该软件的目标受众非常具体,我们知道我们的软件可能会自动分发到新映像的Windows 2003 Server计算机上。因此,要求Java作为先决条件基本上可以为一些糟糕的系统管理员做更多的工作,而且如果可能的话,我宁愿通过重新打包我们自己的JRE安装程序来避免这种情况。
我发现如果我尝试从我的MSI执行JRE的安装程序作为预安装步骤,它会抱怨另一个安装程序已经在运行(当然是我的),所以它很难解决。当我尝试将JRE安装程序添加为AdvancedInstaller项目中的软件先决条件(作为捆绑的EXE,而不是URL链接)时,尽管我尝试强制安装它,但它似乎从未实际安装过。
重新包装JRE的最佳方法是什么?我不是一个真正的Java人,因此我不太了解其他开发人员如何处理同样的问题,而不是要求他们的用户自己寻找并安装JRE。这里的理想解决方案是让我们找到一个EXE安装程序,它可以从另一个MSI安装程序内部执行,或者如果可能的话,只需打包JRE中的所有文件,然后创建相应的注册表和环境变量。我应该怎么做呢?
答案 0 :(得分:4)
我不知道这是否是“方法”,但面对一个类似的问题,我们只是将已安装的 JRE与我们的其他应用程序文件存档,并确保我们所有的启动脚本都不使用java ...
,而是..\..\jre\bin\java ...
或类似的。作为我们安装过程的一部分,JRE在我们安装的子目录中解压缩,就是这样。
答案 1 :(得分:2)
jre的简单拉链就足够了,除非您想将jre链接到:
如果最后两点对您所关心的桌面不感兴趣,那么简单的拉链就足够了。
答案 2 :(得分:1)
http://www.syswow64.co.uk/2013/05/java-7-update-21-1721-enterprise.html
许多博客和文章的问题在于为企业部署创建“deployment.config”和“deployment.properties”文件。在我的情况下,我想将安全级别设置为“中”,但每次打开Java控制面板时,它都被设置为默认的HIGH设置。