关于版本控制:MSI Installer在不删除先前安装的情况下失败

关于版本控制:MSI Installer在不删除先前安装的情况下失败

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中自动删除以前版本的已安装应用程序,需要执行以下操作:

  • 递增Version属性(例如,从1.0.0更改为1.0.1 ...也在第3个位置更改)

    • 版本是安装程序项目的属性,用于标识安装了哪个版本的应用程序
  • 更改ProductCode属性,以便安装程序知道它不是两次执行的同一安装程序

    • ProductCode是安装程序项目的属性,当Version属性更改时,Visual Studio会自动对其进行更改
  • 保留" UpgradeCode"属性的值。

    • UpgradeCode也是安装程序项目的属性
    • 它需要在整个"升级行"中保持不变,因此安装程序知道要升级什么
  • 如果您还想从控制面板的软件列表中删除旧的应用程序版本,请将RemovePreviousVersions设置为true

  • 从XP转到Win7时遇到了同样的问题。为了解决这个问题,我必须将DetectNewerInstalledVersion设置为False。另外,正如其他人所提到的,您需要增加安装项目的版本。

    祝好运。


    推荐阅读

      linux默认命令删除?

      linux默认命令删除?,系统,软件,名称,档案,命令,文件,目录,不了,电脑,文件夹,

      linux下删除命令行?

      linux下删除命令行?,系统,数据,命令,文件,名称,百度,环境,不了,档案,文件夹,l

      linux本地安装命令?

      linux本地安装命令?,软件,系统,工具,在线,数据,官网,环境,名称,命令,文件,lin

      linux删除挂载命令?

      linux删除挂载命令?,系统,设备,电脑,信息,管理,网络,名字,密码,文件,命令,lin

      linux退出删除命令行?

      linux退出删除命令行?,地址,状态,系统,工作,命令,电脑,名字,管理,信息,文件,l

      linux下载安装包命令?

      linux下载安装包命令?,软件,系统,名称,位置,数据,名字,通讯,灵活,最新,管理,

      linux安装操作命令?

      linux安装操作命令?,系统,工作,地址,工具,服务,情况,信息,命令,最新,管理,lin

      linux安装源码命令?

      linux安装源码命令?,软件,管理,最新,灵活,官网,工具,系统,源码,命令,文件,如

      linux命令安装新系统?

      linux命令安装新系统?,系统,软件,工作,管理,在线,电脑,信息,基础,发行,数据,L

      linux安装arp命令?

      linux安装arp命令?,地址,系统,时间,网络,信息,合法,有限,金山,数字,设备,Linu

      linux安装驱动命令行?

      linux安装驱动命令行?,系统,软件,平台,材料,电脑,位置,名称,下来,命令,内核,l

      linux删除空行命令?

      linux删除空行命令?,名称,不了,命令,文件夹,文件,时间,工作,简介,情况,资料,l

      linux删除软件命令?

      linux删除软件命令?,软件,系统,命令,不了,名称,数据,文件夹,文件,工具,百度,l

      linux防火墙安装命令?

      linux防火墙安装命令?,系统,服务,工具,状态,密码,情况,软件,管理,防火墙,网

      linux取消安装的命令?

      linux取消安装的命令?,软件,系统,名称,工具,管理,发行,电脑,情况,简介,命令,

      linux删除集群命令?

      linux删除集群命令?,软件,管理,工具,平台,工作,系统,技术,数据,公司,产品,在l

      linux命令行安装文件?

      linux命令行安装文件?,软件,官网,密码,中心,电脑,文件,命令,终端,指令,版本,L

      linux输入命令删除键?

      linux输入命令删除键?,名称,系统,档案,命令,文件,目录,不了,数据,文件夹,终

      linux彩蛋命令安装?

      linux彩蛋命令安装?,系统,软件,网络,官方网站,官网,盘中,灵活,衍生,环境,地

      linux删除群组的命令?

      linux删除群组的命令?,系统,管理,工作,名称,命令,地址,邮箱,基础,密码,用户