install4j - install4j:是否有可能对所有媒体都有完整的更新体验?
问题描述
我正在使用 install4J 构建我的应用程序,现在我正在尝试实现更新程序功能。我有多种媒体,最终得到不同的结果:
- 对于 Windows 安装程序 (.exe):它运行良好,新媒体已下载,我的应用程序已关闭,新安装程序会自动运行
- 对于 .deb 和 .rpm,新媒体下载在 /Downloads 中,更新程序停在那里。是否可以将更新程序配置为关闭我的应用程序并自动安装 .deb / .rpm 类似于 Windows 更新程序所实现的功能?
- 存档(windows 和 unix) 新媒体下载到 /Downloed 并且更新程序停在那里。是否可以将 install4J 配置为关闭应用程序并将 .zip / .tar.gz 解压缩到应用程序目录中以执行更新。
谢谢
解决方案
更新下载器只是一个模板,您可以根据需要修改屏幕和操作。
对于 DEB 和 RPM,您可以向更新下载器添加操作来安装它们。对于 Unix 上的存档,也可以将它们解压缩到安装目录。
但是,在 Windows 上,由于文件锁定,很难对存档执行此操作。无法替换 install4j 运行时或捆绑的 JRE,因为它们正在被更新下载器使用。
推荐阅读
- c++ - 最佳实践 - 防止内存泄漏/保持动态分配的内存
- node.js - 我的“导入”中间的这个空间是什么?
- css - 如果我将 4 个文件导入 1 个文件,如何防止加载导入
- excel - 针对溢出范围的多个标准的独特过滤器
- c++ - 在for循环中重新初始化值
- java - 使用 JPA 和休眠查询数据时出现 NullPointerException
- go - 进行 go RPC 调用时,返回类型为 channel
- python - 仅获取嵌套列表中每个列表中的唯一值
- docker - 指向外部 URL 以始终转到 Docker 容器的同一实例
- angular - 如何修复 net::ERR_CONNECTION_REFUSED?