【问题标题】:How to specify two JREs in a single installer for different launchers?如何在单个安装程序中为不同的启动器指定两个 JRE?
【发布时间】:2012-10-17 08:11:02
【问题描述】:

我有一个 install4j (v4.x) 项目,该项目在应用程序安装时创建了 2 个不同的启动器(用于 2 个不同的任务)。有没有办法为第二个启动器(不是最终媒体文件中指定的那个)指定一个单独的(第二个)JRE?

有点跑题了,但是……

我为什么需要那个?实际上,我需要第二个启动器(这是一个更新程序类型的应用程序)的媒体文件中的 JRE 的完整副本,以便它可以更新主应用程序的 JRE。如果更新程序可以在与应用程序相同的 JRE 上工作,它就无法这样做。

也许有更好的方法来用我需要的 JRE 更新应用程序的 JRE?

附:我知道 install4j 5.x 的新更新功能,但由于几个原因我们没有使用它,所以暂时没有问题。

【问题讨论】:

    标签: install4j


    【解决方案1】:

    这个怎么样:

    • 在常规设置->Java 版本中添加环境变量MY_UPDATER_JAVA_HOME 到搜索序列并将其移动到列表的顶部。

    • 在安装程序中,使用“复制文件和目录”操作将 JRE 复制到其他目录

    • 在安装程序->屏幕和操作上,添加一个空的自定义安装程序应用程序,将其“默认执行模式”属性设置为“无人参与模式”

    • 将“运行可执行文件或批处理文件”操作添加到新安装程序应用程序的“启动”节点。通过该操作,您可以调用更新程序启动器。在“特定环境变量”属性中,您将 MY_UPDATER_JAVA_HOME 设置为复制的 JRE 的位置。

    然后您将直接调用安装程序应用程序而不是您的更新程序,它将使用复制的 JRE 运行。

    如果您不想在安装目录中保留两个 JRE,可以将“默认执行模式”属性更改为“带有进度对话框的无人参与模式”并添加“复制文件和目录”操作以复制 JRE如果临时目录中的特定目录尚不存在,则复制到该目录。

    【讨论】:

    • 这是一个很好的解决方法!并且似乎没有简单的方法可以仅使用 install4j 设置/工具来做同样的事情。所以我想说这个答案对我来说已经足够了。
    猜你喜欢
    • 2012-06-25
    • 1970-01-01
    • 2014-12-16
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多