我创建了一个安装程序“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高级版。
答案 0 :(得分:0)
正如Cosmin建议您在修复期间无法删除组件,但可以在开始新版本的安装过程之前卸载以前的版本。
使用InstallShiled 2008的一种方法是创建一个可以执行此操作的主要升级。 Video Tutorial
修改强>
正如克里斯托弗所说:有一些方法可以在轻微的升级/维修中拆除组件。 评论如下。
答案 1 :(得分:0)
传递组件是要走的路。 MS在此处对其进行了描述:http://msdn.microsoft.com/en-us/library/aa372462%28v=vs.85%29.aspx
为了跟进克里斯所说的话,玩重装模式可以做一些讨厌的事情。如果您包含任何共享组件,则尤其如此。您可以反向调整其他应用程序所依赖的组件,您可以根据正在使用的共享组件中的文件,发现自己被提示停止看似无关的应用程序。如果可能的话,这是一件非常好的事情。