【发布时间】:2019-07-03 07:37:18
【问题描述】:
我使用原作者Rob Mensching 的Wix Toolset Visual Studio 2017 Extension 为我的Visual Studio 2017 项目创建了一个Wix 安装程序。安装程序成功安装了应用程序,但是当我再次运行安装程序卸载应用程序时,安装程序如预期的那样首先显示修复或卸载应用程序的选项。
当我选择Uninstall 选项时,它成功运行,表明它正在卸载并最终显示Finish 按钮,但是当我转到我的Windows 10 菜单时,应用程序仍然存在并且仍然照常工作 - 这显然意味着它没有卸载。
我什至重新启动了计算机,看看这是否有什么不同,但应用程序仍然存在并照常工作。 问题:发生这种情况的原因可能是什么?补救措施是什么?
注意:我使用的是最新的version 3.11 的 Wix
更新
这是一个VSTO add-in。现在它的工作方式如下:我从 Windows 的 Add\Remove 程序中手动卸载它,然后使用 Wix/MSI 再次安装它。然后当我再次使用Wix/MSI 卸载时,它成功卸载了它。 问题:为什么一开始使用Wix/MSI时没有卸载?
【问题讨论】:
-
下面有几个更新。
-
您是否在“添加/删除程序”中找到了多个被您全部卸载的条目?
-
@SteinÅsmul 不,只有一个条目。
-
我猜可能是旧版本安装了“per-user”而新版本安装了“per-machine”。 InstallScope 属性在 Package 元素中的含义是什么?如果有,请检查新旧来源。
-
为了清楚起见,WiX 工具集是 MSI 软件包的几个构建器之一。 Windows Installer(例如 msiexec)对此类包执行操作。 Windows 程序和功能(fka 添加/删除程序)是任何类型安装的注册表。对于 Windows Installer 安装,它只列出了对包进行 msiexec 操作的命令。因此,无论从何处调用 Windows Installer 或使用哪个工具构建软件包,Windows Installer 的行为都应该相同;唯一的区别是操作的参数是什么。