【问题标题】:In Install4J is it possible to update the sys.preferredJRE variable?在 Install4J 中是否可以更新 system.preferred JRE 变量?
【发布时间】:2015-02-02 16:49:49
【问题描述】:

我有一个安装程序,其目的是为现有安装更新 JDK 的最大版本(我们需要 JDK,而不是 JRE),并将现有安装指向与更高版本的 JDK(这是用户预安装和用户指定)。

在安装程序中,我有从目录选择器表单组件调用 JVM.setPreferredJVM() 的代码。根据 JVMSelector 的the API,它说此方法将“为您的应用程序设置首选的 JRE/JDK”。根据变量 (sys.preferredJRE) 上的help docs,“只有在“安装文件”操作运行后才会设置此变量。”

当我运行安装程序时,我看到调用了 setPreferredJVM() 方法,但是 sys.preferredJRE 没有设置为我想要的,它仍然引用旧的 JVM。这是一个问题,因为我随后的“添加 VM 选项”步骤使用了 sys.preferredJRE 变量。

我预计调用 JVMSelector.setPreferredJVM() 会更新 sys.preferredJRE,但事实并非如此。我怎样才能做到这一点,以便用户可以在安装过程中设置首选的 JVM/JDK?

【问题讨论】:

  • 在代码中,我将所需的 JDK 放入名为 jdkPath 的自定义变量中。然后安装文件步骤之后,我放入了一个设置变量操作,脚本为 context.getVariable("jdkPath") 和变量名 sys.preferredJre。这确实更新了 sys.preferredJre。仍然对 JVM.setPreferredJVM() 方法实际上在做什么感到困惑。它有什么作用吗?

标签: install4j


【解决方案1】:

这是一个错误,它将在 6.0.2 中修复。请联系 support@ej-technologies.com 以获取包含修复的临时版本。

【讨论】:

  • 可以,谢谢!我还看到 pref_jre.cfg 没有使用用户选择的 JDK 进行更新,并且将尝试通过“修改文本文件”操作来解决它。您是否期望此错误修复也会修改 pref_jre.cfg,还是我应该继续进行此操作?
  • pref_jre.cfg 如果在“安装文件”操作运行后调用 JVMSelector.setPreferredJVM(),则应该更新
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多