在install4j中,我们可以为文件设置覆盖策略“如果更新,请求”或“总是询问”等。
我想升级具有最终用户可以编辑的.properties配置文件的应用程序。在较新的版本中,将添加一些属性,但我们不希望更新自定义的现有属性。
所以我将Overwrite策略设置为“never”,并创建一个自定义操作来合并新属性。我可以使用“将文本附加到文件”,但我想更动态地执行,通过比较旧文件和新文件,只附加那些旧文件中不存在密钥的属性。
所以我的问题:
答案 0 :(得分:1)
我可以检测在安装或升级期间是否调用了该操作吗?
是的,您可以使用
context.isUpdateInstallation()
在条件表达式或其他脚本中。
如果新文件没有覆盖旧文件,我如何获取新文件的内容?
如果未安装文件,则无法访问该内容。我建议如下: