维克斯/ MSI安装程序成功运行卸载的应用程序,但该应用程序并没有被卸载(WiX/MSI insta

2019-09-27 13:48发布

我创建了一个Wix安装程序为我Visual Studio 2017通过这个项目维克斯工具集的Visual Studio 2017年扩展其原作者Rob Mensching 。 安装程序成功安装应用程序,但是当我再次运行安装程序来卸载应用程序,安装程序,符合市场预期,首先显示的要么修复或卸载应用程序的选项。

当我选择Uninstall选项,它成功运行表明它是卸载,最后给出了Finish按钮,但是当我去我Windows 10的菜单应用程序仍然存在,仍然照常工作-这显然意味着它不会被卸载。

我甚至重新启动计算机,看看是否有什么差别,但应用程序仍然存在,像往常一样工作。 :什么可能是它发生的原因-这又有什么补救措施?

:我使用的是最新version维克斯的3.11

UPDATE

这是一个VSTO加载项 。 现在,它是工作如下:我手动从Windows的添加\删除程序卸载它,然后再次使用安装了Wix/MSI 。 然后当我卸载再次使用Wix/MSI它成功卸载它。 :使用时为什么最初它不卸载Wix/MSI

Answer 1:

重复 :你可能同时在包装上工作装产品多次(至少两个)。 这一切发生的时候,特别是如果你使用自动生成的产品代码,并没有设立一个重大升级结构又或者升级GUID是丢失或更糟糕的是你将它设置为自动生成。 升级代码应的产品“家族”保持稳定。 基本上所有相关的,你不想安装并排侧版本。

因此,与重复安装,产品的卸载只是删除了最新的安装,留在原位的文件,因为引用计数不为零,因为有其他的安装。 解决的办法是保持一个稳定的升级GUID,并成立了重大升级结构。 在此之前,卸载所有流浪副本。

也许尝试此过程:

  • Windows键 +自来水[R
  • 键入appwiz.cpl ,然后按Enter

寻找在列表中选择产品的重复副本,将其卸载。


隐藏产品 :它也有可能是一些副本可以从上面的列表中隐藏。

  • 找到产品代码 :您可以列出所有已安装的产品代码,并使用这里所描述的方法,产品名称: 我怎样才能找到一个已安装的MSI安装程序的产品GUID?
  • 卸载 :一旦你的产品代码,你可以通过方法3这里卸载卸载命令行的MSI文件,而无需使用MSIEXEC
  • 更高级的 :这里有一些进一步的选项通过脚本来卸载: 维克斯(删除所有以前的版本) 。


文章来源: WiX/MSI installer successfully runs for uninstalling an app but the app has not been uninstalled
标签: wix wix3.11