Install4j 如何在一个安装程序中为不同的启动器指定两个JRE?

Install4j 如何在一个安装程序中为不同的启动器指定两个JRE?,install4j,Install4j,我有一个install4j(v4.x)项目,在应用程序安装时创建了两个不同的启动器(用于两个不同的任务)。有没有办法为第二个启动器指定一个单独的(第二个)JRE(不是在最终媒体文件中指定的) 有点离题,但… 我为什么需要这个?实际上,我需要第二个启动器(这是一个更新程序类型的应用程序)的媒体文件中的JRE的完整副本,以便它可以更新主应用程序的JRE。如果updater与应用程序在同一个JRE上工作,它将无法这样做 也许有更好的方法用我需要的JRE更新应用程序的JRE 另外,我知道install4

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

有点离题,但…

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

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

另外,我知道install4j 5.x的新更新功能,但我们之所以不使用它,有几个原因,所以现在不成问题。

这方面如何:

  • 在常规设置->Java版本中,添加一个环境变量
    MY\u UPDATER\u Java\u HOME
    转到搜索序列并将其移动到列表顶部

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

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

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

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

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

如何:

  • 在常规设置->Java版本中,添加一个环境变量
    MY\u UPDATER\u Java\u HOME
    转到搜索序列并将其移动到列表顶部

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

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

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

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


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

这是一个很好的解决方法!而且似乎没有简单的方法可以用install4j设置/工具做到这一点。所以我想说这个答案对我来说已经足够了。这是一个很好的解决办法!而且似乎没有简单的方法可以用install4j设置/工具做到这一点。所以我认为这个答案对我来说已经足够了。