【问题标题】:msi Installer Uninstallmsi 安装程序卸载
【发布时间】:2010-06-30 15:38:01
【问题描述】:

我有一个 msi 安装程序(VS2008 安装项目)。我想要发生的是安装程序最初检测该软件是否已安装在机器上。如果是,则卸载该软件,然后继续安装。

有许多属性,例如 DetectNewerInstalledVerision、RemovePreviousVersions 和 ProductCode,似乎暗示这是可能的。目前,我每次都必须重新生成 ProductCode,并在我的已安装程序列表中获得一个额外的条目(控制面板 -> 添加/删除程序)。

有没有办法可以配置安装程序以自动卸载任何以前的版本?

【问题讨论】:

    标签: visual-studio-2008 windows-installer visual-studio-setup-proje


    【解决方案1】:

    你是对的——这是可能的。

    基本上,您需要更改两个属性。首先,您需要设置 RemovePreviousVersions 以便实际发生您想要的。然后,为了识别旧版本,您还需要为每个部署设置版本号。每次发布时,手动更新这个数字(到更高的数字),或者让它通过部署自动更新。当安装程序运行时,它会检测是否有任何以前安装的版本是较低的数字并自动删除它们。

    【讨论】:

    • 只是为了明确一点:版本号需要在安装项目中递增,不一定是要安装的项目。然后,Visual Studio 还会要求分配一个新的 ProductCode,这需要用 yes 来确认。还要记住,不要更改UpgradeCode。
    • 我们说的是哪个版本号? AssemblyInfo类中有两个,一个用于设置项目,一个在项目->属性窗口?
    • @pm_2 - @0xA3 做出了正确的说明,因为它需要在安装项目中增加。
    猜你喜欢
    • 2011-02-16
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 2011-01-05
    • 2022-07-23
    • 1970-01-01
    相关资源
    最近更新 更多