“ msiexec renstall = all renstallmode = vamus”没有清洁旧条目
-
11-10-2019 - |
题
我创建了一个安装程序“ test.msi”。它是版本1。 test.msi包含2个组件“ comp1”,“ comp2” comp1包含2个文件“ comp1_file1”,“ comp1_file2”
在test.si的版本2中, - >新组件添加了“ comp3”。它包含1个文件“ comp3_file1” - >“ comp1”组件已更新。 “ comp1_file2”文件已删除和新文件“ comp1_file3”现在添加了2个文件(comp1_file1,comp1_file3)
如果我使用“ msiexec /i test.msi renstall = all renstallmode = vamus”将test.msi从版本1升级到2版,则在安装文件夹中,我仍然可以看到版本1文件“ comp1_file2”。
如果我使用“ msiexec /i test.msi renstall = all renstallmode = vamus”将版本2降级到1版,则在安装文件夹版本-2相关文件中存在(comp3_file1,comp1_file3)。
如何在重新安装时间删除旧条目(组件/文件)?
我正在使用installshield 2008 Premier Edition。
解决方案
瞬态组件是必经之路。 MS在这里描述它们: http://msdn.microsoft.com/en-us/library/aa372462%28v=vs.85%29.aspx
为了跟进克里斯所说的话,与Remstallmode一起玩可以做一些讨厌的事情。如果您包括任何共享组件,则尤其如此。您可以根据其他应用程序取决于其他应用程序的组件,并且可以发现自己会根据正在使用的共享组件中的文件停止看似无关的应用程序。如果您可以的话,这是一件非常好的事情。
其他提示
正如Cosmin建议您在维修过程中不能删除组件,但是 在开始新版本的安装过程之前,您可以卸载先前的版本。
使用安装2008的一种方法是创建一个重大升级,可以做到这一点。视频教程.
编辑
正如克里斯托弗(Christopher)所说:有多种方法可以通过轻微的升级 /维修来删除组件。下面评论。