我创建了一个安装程序"test.msi“。它是版本1。test.msi包含2个组件" comp1 ","comp2“comp1包含2个文件"comp1_file1","comp1_file2”
在test.msi的版本2中,-->添加了一个新组件"comp3“。它包含一个文件"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首发版。
发布于 2011-01-18 00:25:17
传递性组件是未来的发展方向。微软在这里描述了它们:http://msdn.microsoft.com/en-us/library/aa372462%28v=vs.85%29.aspx
为了跟进Chris所说的,玩reinstallmode可能会做一些不好的事情。如果您包含任何共享组件,这一点尤其正确。您可以对其他应用程序所依赖的组件进行回放,并且可以根据正在使用的共享组件中的文件,发现自己被提示停止看似无关的应用程序。如果可能的话,这是一件非常值得避免的事情。
https://stackoverflow.com/questions/4710997
复制相似问题