我正在尝试创建一个安装程序,该安装程序删除具有不同升级代码的旧版本程序(让我们认为它只是一个不同的程序)。 根据一些研究,使用升级标记应该可以实现:
<Upgrade Id="{5B68E7A8-FD95-470D-AD0D-D32B9625A313}">
<UpgradeVersion Property="OLDPRODUCTFOUND" OnlyDetect="no" Minimum="0.0.0" />
</Upgrade>
问题在于它几乎可以工作(因此删除了文件和大多数注册表项),但仍然在程序和功能中保留了该项。
同样为了删除它,我编写了一个小工具来调用原始安装程序,该安装程序可以通过注册表中的卸载字符串找到。然后通过自定义操作异步调用该工具。
但是,这有点不合时宜,我宁愿一次性完成。
欢迎提出任何建议以进行这项工作。