在许多应用程序中,我们使用Visual Studio Setup Project创建MSI安装程序。在大多数情况下,安装程序可以正常工作,但偶尔会出现以前版本没有正确卸载的情况。用户最终会在桌面上看到两个图标,在“添加/删除程序”列表中,该应用程序会出现两次。我们尚未找到任何模式,并且在大多数情况下,安装程序可以正常工作。
在许多应用程序中,我们使用Visual Studio Setup Project创建MSI安装程序。在大多数情况下,安装程序可以正常工作,但偶尔会出现以前版本没有正确卸载的情况。用户最终会在桌面上看到两个图标,在“添加/删除程序”列表中,该应用程序会出现两次。我们尚未找到任何模式,并且在大多数情况下,安装程序可以正常工作。
如果之前版本的卸载失败,取决于RemoveExistingProducts操作的顺序。我曾经总结过有关不同选项的摘要:http://jpassing.wordpress.com/2007/06/16/where-to-place-removeexistingproducts-in-a-major-msi-upgrade/。
不幸的是,当使用VS安装项目时,您无法控制RemoveExistingProducts的顺序(除非在构建MSI后使用Orca编辑MSI,但这通常不可行)。但是,如果您的安装项目并非完全简单,我强烈建议您使用其他MSI编写工具,如WiX或商业工具。