MSI安装程序失败,但没有删除以前的安装
时间:2020-03-05 18:46:44 来源:igfitidea点击:
我已经建立了一个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,以更好地理解。
回答
从XP转到Win7时遇到了同样的问题。为了解决这个问题,我必须将DetectNewerInstalledVersion设置为False。另外,正如其他人所提到的,我们需要增加安装项目的版本。
祝你好运。