一个适合java的UpdateLancher看起来怎么样?
我正在为java开发一个更新启动器。jar应用程序。我有几个。jar档案和一个主文件。罐子我的启动器在更新时添加/替换必要的JAR
我只是不确定该遵循什么标准。所以我会描述这个过程是如何工作的,如果我忘了什么,你可能会告诉我
- 加载并比较版本。来自ftp更新服务器的xml文件
- 在两个版本的帮助下列出更新的项目。xml文件
- 检查(确保)那些仍然有效的文件是否真的存在于硬盘上(或者将它们添加到需要下载的项目列表中……无论如何都不应该发生)
- 创建需要下载的文件列表(这些项目以压缩形式存在于服务器上)
- 将所有需要的文件下载到/temp文件夹
- 将所有文件解压缩到/temp/Unpack
- 将所有解包文件移动到/data文件夹(或它们所属的位置)
- 更新本地版本。xml
- 检查所有文件是否与实际版本文件列表匹配
我真的不确定我是不是忘了什么?如果一些用户乱动/data中的文件,我的更新程序会意识到这一点,并提出一个“修复更新”,所有丢失的文件都会被重新下载。但用户在版本上乱搞又如何呢。xml?我应该把它加密保存。有必要保留下载的版本吗。更新服务器中的xml是否打开,以便在检查版本和更新时没有人可以更改?还是我太担心这些了
到目前为止,所有这些都有效吗?它是否足够安全,不会在用户的pc上安装补丁后造成混乱
# 1 楼答案
您是否打算使用Java 1.6中的System Tray类来通知用户更新?对我来说,这似乎是involve implementing an OSGi updater(有点像Eclipse project在IDE中的工作方式)。还有JVisualVM。EXE工具(附带JDK)是这类事情的一个很好的例子,也许你可以从中得到一些想法,尽管我怀疑它是用C++编码的。p>