我正在用C#开发WPF应用程序。目前我的msi在机器中安装了当前的应用程序。我需要检查安装的任何现有版本并删除机器中安装的现有版本并安装新版本。
任何人都可以帮助我检查机器中已安装的应用程序,并在安装新的msi之前将其卸载。
答案 0 :(得分:10)
您可以通过正确配置MSI属性来实现。单击安装程序项目,然后按 F4 查看MSI的属性窗口。
当您转到属性时,您可以看到两种类型的Upgrade code
和Product Code
属性。每次创建/发布新的安装程序包时,请确保保留相同的升级代码,但更改产品代码。
将DetectNewerInstalledVersions
属性更改为true
。
将RemovePreviousVersions
设为true
。
现在将version
号码更改为上一版本的更高版本,如果您之前的版本是1.0.2,请将新版本更改为1.0.3。
当您安装具有上述设置的MSI时,MSI将检查是否有任何其他产品安装了相同的升级代码,如果找到产品,那么它将检查新安装是否具有更高版本。如果满足所有条件,它将首先删除现有(较旧)版本并安装较新版本。