在安装更新期间保留文件夹及其内容

时间:2016-04-19 19:14:20

标签: java install4j

我有一个解决方案,但不知道如何在install4j中本地完成此任务。

我有一个包含工件存储库的文件夹(类似于maven的.m2存储库文件夹架构),其中文件名是在maven编译期间唯一生成的(时间戳)。

E.g。 ./install-dir/artifacts/app-core/jar/1.2-t20160419183129/app-core-1.2-t20160419183129.jar

使用"更新现有安装"运行安装程序后检查后,install4j将附加这些文件并保留该工件的旧时间戳版本。我知道这不是一个错误,并按预期工作。所以最终结果如下:

./install-dir/artifacts/app-core/jar/1.2-t20160415154633/app-core-1.2-t20160415154633.jar
./install-dir/artifacts/app-core/jar/1.2-t20160419183129/app-core-1.2-t20160419183129.jar

这些文件中没有任何更改,但编译期间生成的时间戳。那么我可以在install4j中使用任何方法来验证上面提到的组件是否比安装程序对应的更新。它必须忽略时间戳,并且只考虑版本号和md5校验和。

现在,我正在删除artifacts文件夹并将其替换为安装程序版本。然而,这是一种积极的方法,我希望从中迁移出来。

1 个答案:

答案 0 :(得分:1)

  

现在,我正在完全删除artifacts文件夹并替换它   与安装程序版本。但是,这是一种积极的方法,我   希望远离。

我会坚持这个策略。如果在新版本中删除JRE文件会怎样?如果您只是匹配没有时间戳的更新,旧的JAR文件将保留在安装和类路径中。

否则,install4j(从6.1开始)中没有允许您以这种方式执行更新的功能。