如何使install4j更新程序删除文件?

如何使install4j更新程序删除文件?,install4j,Install4j,我们基于install4j的应用程序有一个第三方库jar,名为(例如)foobar-1.0.jar 在更新版本中,我们用foobar-1.1.jar替换了jar install4j更新程序添加了新的jar,但没有删除旧的jar。所以现在两者都在类路径上。这使我们的应用程序崩溃 如何告诉更新程序删除不再存在的文件?您可以在“安装”屏幕中添加“卸载以前的安装”操作 如果您不想在更新过程中删除某些文件,请转到“文件”步骤,编辑条目,切换到向导的“安装选项”步骤,并将“卸载策略”设置为“……但不用于更新

我们基于install4j的应用程序有一个第三方库jar,名为(例如)foobar-1.0.jar

在更新版本中,我们用foobar-1.1.jar替换了jar

install4j更新程序添加了新的jar,但没有删除旧的jar。所以现在两者都在类路径上。这使我们的应用程序崩溃

如何告诉更新程序删除不再存在的文件?

您可以在“安装”屏幕中添加“卸载以前的安装”操作


如果您不想在更新过程中删除某些文件,请转到“文件”步骤,编辑条目,切换到向导的“安装选项”步骤,并将“卸载策略”设置为“……但不用于更新”选项之一。

我们与Steve McLeod有类似的问题(2014年10月2日评论)。在我们的例子中,桌面图标被替换,但是更新后程序组中的卸载程序链接不存在


以下是添加卸载程序的位置和方式的屏幕截图。

奇怪的是,这也会将桌面快捷方式作为卸载的一部分删除,而不会在安装中重新添加。桌面快捷方式是通过“添加桌面链接”操作添加的。请检查.install4j/installation.log文件,查看该操作是否因某种原因失败。一种可能的故障模式是操作在“安装文件”操作之前。在这种情况下,仅为第一次更新安装创建快捷方式(当“卸载以前版本”不存在时)