【问题标题】:Install4j Auto Update Silent Version Check Not WorkingInstall4j 自动更新静默版本检查不起作用
【发布时间】:2015-04-29 08:27:26
【问题描述】:

我正在使用 install4j 将我的 JavaFX 应用程序包装到一个跨平台安装程序中。

我参考thisthis tutorial 来创建带有自动更新静默检查的安装程序。

我尝试了多次,都找不到问题的原因。

自动更新程序没有被调用(我猜除非有人可以指导我验证它是否被调用)

我可以保证 updates.xml 文件位于正确的位置,因为当我手动调用文件夹上的 Updater.exe 时,它​​按预期工作(对话框和所有内容都很好)。

希望得到任何建议,因为我真的被困在这里了。

感谢所有花时间回答这个问题的人


编辑:

请注意“在新进程中启动”复选框是否勾选,结果仍然相同 - 自动更新未触发


编辑 2

以下内容只是为了帮助所有面临当前问题的人。

正如@IngoKegel 所述,JavFX 尚不支持(当前为 Install4j 版本 6.0.2),因此必须手动调用。

使用集成向导,将给出一个代码 sn-p。将它放置在您的 Java 程序中您想要的任何位置。我想解决的问题(不清楚)只是,从哪里获取 jar 文件的

导入 com.install4j.api.launcher.ApplicationLauncher

工作。基于here

当您想在您的 IDE 中使用 install4j 类时,您可以将 $INSTALL4J_HOME/resource/i4jruntime.jar 添加到您的类路径(在您的 IDE 中)。不要将这个 jar 文件与您的应用程序一起分发,install4j 会为您处理。

所以,只需链接 jar 文件,一切都会好起来的。

【问题讨论】:

  • 您在更新程序的“启动器集成”选项卡上的设置是什么(在安装程序->屏幕和操作步骤上)?
  • @IngoKegel,检查问题中的编辑
  • 我收到 java.lang.NoClassDefFoundError: com/install4j/api/launcher/ApplicationLauncher$Callback
  • @codechimp 需要更多详细信息。请说明重现该错误的步骤。
  • @Kiong,Mine 是作为服务而不是 JavaFX 应用程序运行的 web 应用程序。所以 .install4j/i4jruntime.jar 的 claspath 不是自动设置的。我需要手动设置类路径。但现在的问题是我没有启动器。因此,即使我以编程方式调用,也可能不会触发自动更新程序。必须有启动器吗?

标签: install4j


【解决方案1】:

从 6.0.2 开始,“启动模式”设置“显示第一个窗口时”仅适用于 AWT/Swing 窗口,不适用于 JavaFX 窗口。我们计划在未来的版本中支持此功能。

目前,您必须使用集成向导并将代码添加到调用更新程序的应用程序中。请参阅屏幕截图中“启动器集成”选项卡上的“启动集成向导”按钮。


更新:这已在 install4j 6.1 中实现。

【讨论】:

  • 是的,6.1已经实现了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-02
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多