Installation 在升级安装期间删除旧文件版本

Installation 在升级安装期间删除旧文件版本,installation,installshield,Installation,Installshield,我正在InstallShield Pro 2010中使用纯InstallScript安装 在我们的软件中,第三方jar文件已被更新版本所取代。运行升级安装时,会安装新的jar,但旧的jar也会保留下来。坏事接踵而至 如何让InstallShield更新文件夹的内容,并删除该位置中当前版本中未包含的任何其他文件? 我已经查看了Component->Overwrite选项,但这似乎只适用于“当安装程序遇到与正在安装的文件同名的现有文件时” 另外,我意识到我可以在脚本中添加一些东西来删除有问题的文件,

我正在InstallShield Pro 2010中使用纯InstallScript安装

在我们的软件中,第三方jar文件已被更新版本所取代。运行升级安装时,会安装新的jar,但旧的jar也会保留下来。坏事接踵而至

如何让InstallShield更新文件夹的内容,并删除该位置中当前版本中未包含的任何其他文件?

我已经查看了Component->Overwrite选项,但这似乎只适用于“当安装程序遇到与正在安装的文件同名的现有文件时”


另外,我意识到我可以在脚本中添加一些东西来删除有问题的文件,但我需要一个可伸缩的解决方案。随着时间的推移,还会有其他文件被替换,我不想每次都手动向安装程序添加修复程序。

您能不能不在不同的版本之间更改JAR文件的名称


我不知道InstallScript有机器人复制/镜像样式的副本。您必须编写此行为的脚本,我可以看到它不会很快结束。

虽然我认为这会起作用,但它不是很理想。必须记住我们正在运行activemq 5.4.1,但jar仍然命名为activemq-all-5.3.1.jar,这将非常烦人。如果简单地删除某些内容,这也不会起作用(而不是替换为另一个命名的版本。为什么不直接将其命名为activemq.jar?在Win32 world中,我通常没有foo1.exe后跟foo2.exe。我只是将其命名为foo.exe。为了解决您的第二个问题,这就是为什么我们使用Windows Installer而不是纯InstallScript项目。具有声明性地拒绝使用组件的能力。)让安装程序自动处理它的删除会使事情变得容易得多。编写命令式/过程式脚本太脆弱而且耗时。