0

我创建了一个安装程序“test.msi”。它是版本 1。test.msi 包含 2 个组件“comp1”、“comp2” comp1 包含 2 个文件“comp1_file1”、“comp1_file2”

在 test.msi 的第 2 版中,--> 一个新组件添加了“comp3”。它包含 1 个文件 "comp3_file1" --> "comp1" 组件已更新。删除“comp1_file2”文件并添加新文件“comp1_file3” 现在它包含 2 个文件(comp1_file1、comp1_file3)

如果我使用“msiexec /i test.msi REINSTALL=ALL REINSTALLMODE=vamus”将 test.msi 从版本 1 升级到版本 2,在安装文件夹中我仍然可以看到版本 1 文件“comp1_file2”。

如果我使用“msiexec /i test.msi REINSTALL=ALL REINSTALLMODE=vamus”从版本 2 降级到版本 1,则安装文件夹中存在版本 2 相关文件(comp3_file1、comp1_file3)。

如何在重新安装时删除旧条目(组件/文件)?

我正在使用 installshield 2008 高级版。

4

2 回答 2

0

正如 Cosmin 建议的那样,您不能在修复期间删除组件,但您可以在开始新版本的安装过程之前卸载以前的版本。

使用 InstallShiled 2008 的一种方法是创建一个主要升级来执行此操作。 视频教程

编辑

正如克里斯托弗所说:有一些方法可以在小升级/维修中移除组件。在下面发表评论。

于 2011-01-17T08:48:35.670 回答
0

传递组件是要走的路。MS在这里描述它们:http: //msdn.microsoft.com/en-us/library/aa372462%28v=vs.85%29.aspx

为了跟进 Chris 所说的话,玩重新安装模式可能会做一些讨厌的事情。如果您包含任何共享组件,则尤其如此。您可以对其他应用程序所依赖的组件进行后级处理,并且您会发现自己会根据正在使用的共享组件中的文件提示您停止看似无关的应用程序。如果可能的话,这是一件非常好的事情。

于 2011-01-17T16:25:17.303 回答