【发布时间】:2015-04-29 08:27:26
【问题描述】:
我正在使用 install4j 将我的 JavaFX 应用程序包装到一个跨平台安装程序中。
我参考this 和this 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