【问题标题】:Incremental auto online update with Install4J使用 Install4J 进行增量自动在线更新
【发布时间】:2016-01-27 18:23:05
【问题描述】:

我需要一些关于 Install4J 和自动在线更新功能的帮助。 我们有一个 JRE 捆绑的 Install4J 安装程序,它工作正常。我们使用的自动在线更新功能也可以正常工作。所有这些功能都集成到 TeamCity 中的持续集成流程中。

不幸的是,更新安装设置文件的大小约为 100MB,如果我们只想应用补丁或次要更新,下载不方便。

据我从其他类似问题和 Install4J 文档中了解到,处理该问题的正确方法是使用具有另一个应用程序 ID 的第二个项目文件并设置仅包含相关文件和点的附加安装程序到完整的安装程序应用程序 ID。 要启用自动在线更新功能,我必须从 Add-On 安装程序上传 update.xml 文件,对吗?

顺便问一下,插件在线自动更新程序会自动正确检测本地安装的版本吗?

但在这种情况下,我们必须在每次部署新补丁或次要功能时都调整插件安装程序,这在 CI 过程中难以实施。

有没有办法配置一个 Install4J 安装程序,以便它自动获取在线信息,哪些元素必须更新,以便下载大小尽可能小,我们可以只使用一个默认的附加安装程序,其中包含所有JRE 捆绑包旁边的来源? 类似于由 Install4J 内部管理的在线增量更新过程?

谢谢。

【问题讨论】:

    标签: installation install4j


    【解决方案1】:

    您不应该使用附加安装程序进行更新,因为它无法更改版本号。

    为了获得更小的更新安装程序,您创建了第二个项目,其中分发树仅包含更改的文件 - 或至少不包含一些未更改的大文件。为此,您只需复制原始安装程序并删除分发树中不需要更新的文件。

    然后您构建两组安装程序,用于新安装的和用于更新的。

    【讨论】:

    • 感谢您的快速回复。我试过你提到的。不幸的是,它没有按我预期的方式工作。很可能我仍然有一些错误配置。
    • 很可能我仍然有一些错误配置。过滤应用程序文件夹中所有不需要的文件会导致在更新过程中卸载所有其他文件,这些文件应该只保留在应用程序文件夹中。我从复制的安装程序配置中删除了卸载程序,但在这种情况下没有文件更新。你知道我缺少什么来解决这个问题吗?我确信这是一些微不足道的事情,但我只是没有得到我想要的地方...... thx
    • 可能您在“安装”屏幕上附加了一个“卸载以前的安装”操作。
    • 当然!现在就像一个魅力。再次感谢您的快速回复。
    • 如果更改的总是相同的文件(例如应用程序 jar、某些数据文件),这也可以通过使用可下载的安装组件并以编程方式切换 @987654321 上的大“核心”包来完成@?
    猜你喜欢
    • 2020-05-12
    • 1970-01-01
    • 2010-12-23
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2019-03-04
    相关资源
    最近更新 更多