我如何强制 install4j 在更新时不覆盖特定文件

Mot*_*azi 4 java install4j

我已经创建了我的 Install4j 项目,到目前为止我对安装、卸载和更新过程感到满意。但是,出现了一种新情况,当用户更新产品的新版本时,我需要阻止 install4j 覆盖用户安装目录中的特定文件。谁能告诉我如何强制/配置 install4j 以便在更新现有安装时不会覆盖特定文件。

例如,当我安装我的应用程序时,我将一个数据库文件 (mydb.script) 作为安装文件的一部分,以便用户可以使用一个数据库。我发现当我创建应用程序的新版本并再次安装时,install4j 已经检测到我安装了以前的版本并询问我是否要更新该版本。我点击“是”,它就完成了它的工作。但是,在此过程中,它实际上用安装程序内部的数据库覆盖了以前的数据库(导致用户丢失了自第一次安装以来输入的所有数据)。我不想要这种行为。我想告诉 install4j 不要覆盖这个特定的文件(如果它存在)。

Ing*_*gel 5

覆盖策略可以在分发树中控制。请参见下面的屏幕截图,它显示了“Hello world”示例项目的分发树。vmoptions 文件不应被覆盖,因此其覆盖策略设置为“从不”。

在此处输入图片说明

如果您包含带有目录条目的文件并且只想更改单个文件的覆盖策略,只需在目录条目之外添加单个文件(在这种情况下您可能必须手动创建父目录)。单个条目的设置将覆盖目录条目的设置。