我正在用C#开发WPF应用程序。目前,我的msi在机器上安装了当前的应用程序。我需要检查是否有任何已安装的版本,并删除机器上已安装的现有版本,并安装新版本。
请问有人能帮助我如何检查计算机中安装的应用程序并在安装我的新msi之前卸载它?
我正在用C#开发WPF应用程序。目前,我的msi在机器上安装了当前的应用程序。我需要检查是否有任何已安装的版本,并删除机器上已安装的现有版本,并安装新版本。
请问有人能帮助我如何检查计算机中安装的应用程序并在安装我的新msi之前卸载它?
您可以通过正确配置MSI属性来完成此操作。单击安装程序项目并按下F4以查看MSI的属性窗口。
在属性菜单中,您可以看到两种类型的属性:Upgrade code和Product Code。每次创建/发布新的安装包时,请确保保持相同的“ Upgrade code”,但更改“ Product Code”。
将“ DetectNewerInstalledVersions”属性更改为“ true”。
将“ RemovePreviousVersions”设置为“ true”。
现在将版本号更改为比之前的版本更高的版本,例如,如果您之前发布的版本号是1.0.2,则将新版本更改为1.0.3。
当您使用上述设置安装MSI时,MSI会检查是否安装了具有相同Upgrade code的其他产品,如果找到产品,则会检查新安装是否具有更高的版本。如果满足所有条件,则它将首先删除现有(旧)版本并安装较新版本。