【发布时间】:2014-11-03 05:32:25
【问题描述】:
我正在用 C# 开发 WPF 应用程序。目前我的 msi 在机器中安装当前应用程序。我需要检查已安装的任何现有版本并删除机器中安装的现有版本并安装新版本。
任何人都可以帮助我如何检查机器中已安装的应用程序并在安装我的新 msi 之前将其卸载。
【问题讨论】:
标签: c# .net visual-studio-2010
我正在用 C# 开发 WPF 应用程序。目前我的 msi 在机器中安装当前应用程序。我需要检查已安装的任何现有版本并删除机器中安装的现有版本并安装新版本。
任何人都可以帮助我如何检查机器中已安装的应用程序并在安装我的新 msi 之前将其卸载。
【问题讨论】:
标签: c# .net visual-studio-2010
您可以通过正确配置 MSI 属性来实现。点击 Installer 项目并按 F4 以查看 MSI 的属性窗口。
当您转到属性时,您会看到两种类型的属性,即Upgrade code 和Product Code。每次创建/发布新的安装程序包时,请确保保留相同的升级代码,但更改产品代码。
将DetectNewerInstalledVersions 属性更改为true。
将RemovePreviousVersions 设置为true。
现在将version 号码从之前的版本更改为更高的版本,如果您之前的版本是 1.0.2,请将新版本更改为 1.0.3。
当您安装具有上述设置的 MSI 时,MSI 将检查是否有任何其他产品安装了相同的升级代码,如果找到产品,它将检查新安装的版本是否更高。如果满足所有条件,它将首先删除现有(旧)版本并安装新版本。
【讨论】: