4

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

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

4

1 回答 1

5

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

在此处输入图像描述

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

于 2011-11-14T09:40:58.913 回答