MSI Installer fails without removing a previous install我已经建立了一个MSI,我想对其进行部署并经常更新。 不幸的是,当您安装MSI,然后尝试安装同一MSI的较新版本时,它将失败,并显示类似消息"已安装该产品的另一个版本。此版本无法继续安装..."。 MSI是使用Visual Studio 2008安装项目构建的。 我试图将"删除以前的版本"属性设置为true和false,以使新版本覆盖较早的安装,但是没有任何效果。 在以前的公司中,我知道Wise和Advanced Installer构建的安装程序没有这个问题。 有我缺少的设置吗? 还是VS 2008安装项目不支持我想要的功能? 我已经使用VS 2005 Pro构建了许多MSI,它们可以正确执行此操作。 您确定部署项目的"版本"属性已增加吗?此属性与应用程序中程序集的版本无关,并且这是错误消息,您将看到MSI的Version属性是否与您尝试覆盖的版本相同。 增加项目上的版本号。 在VS中,选择设置应用程序的节点,然后按F4键以查看属性。找到版本字段,然后增加它。 您需要在每个版本之间更改ProductCode,如果不这样做,您将得到所看到的行为。在项目属性中可以看到ProductCode。请查阅MSDN联机帮助中的ProductCode以更好地了解。 这有点复杂: 要在Setup Project中自动删除以前版本的已安装应用程序,需要执行以下操作:
从XP转到Win7时遇到了同样的问题。为了解决这个问题,我必须将DetectNewerInstalledVersion设置为False。另外,正如其他人所提到的,您需要增加安装项目的版本。 祝好运。 |