我已经使用 Wix 和 Burn 为我的应用程序创建了一个自定义引导程序,但是在学习的过程中,我设法安装了几个早期的变体,它们不会被卸载。我想我是在调用 PlanComplete 之前运行 Engine.Apply 造成的。
在添加/删除程序中构建列表的信息在哪里,手动删除孤立行的最佳方法是什么?
更新- 我应该说我使用的是 64 位 Windows 7 Enterprise,Service Pack 1。
我已经使用 Wix 和 Burn 为我的应用程序创建了一个自定义引导程序,但是在学习的过程中,我设法安装了几个早期的变体,它们不会被卸载。我想我是在调用 PlanComplete 之前运行 Engine.Apply 造成的。
在添加/删除程序中构建列表的信息在哪里,手动删除孤立行的最佳方法是什么?
更新- 我应该说我使用的是 64 位 Windows 7 Enterprise,Service Pack 1。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
或HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- 这是添加删除程序被填充的位置。如果您从注册表中删除该条目,它将删除该条目。您可以从此处删除密钥,如下所述,还可以物理定位并删除文件/文件夹。
在注册表编辑器中,找到上述注册表项。
注册表编辑器左窗格中卸载下列出的每个键代表一个程序,该程序显示在添加或删除程序工具的当前安装的程序列表中。要确定每个键代表哪个程序,请单击该键,然后查看以下内容右侧详细信息窗格中的值:
DisplayName: DisplayName 键的值数据是添加或删除程序中列出的名称。
-和-
UninstallString: UninstallString 键的值数据是用于卸载程序的程序。
确定代表已删除但仍显示在“添加或删除程序”的“当前安装的程序”列表中的程序的注册表项后,右键单击“注册表编辑器”窗口左窗格中的项,然后单击“删除”。
如果您在答案中的任何一个文件夹中都找不到它,您可以执行 Ctrl+F(编辑 - 查找...)并搜索确切的显示名称。我在制作引导程序时遇到了这个问题,在逐行搜索每个提到的文件夹后我非常沮丧,没有意识到有搜索功能。它最终位于 HKEY_USERS 中的一个文件夹下,而不是我的 HKEY_LOCAL_MACHINE 下。
即使从 Isiah4110 的答案中删除密钥后,还要检查HKLM\software\classes\installer\products
您的卸载过程是否失败。它将解决这个挥之不去的问题:
“SOURCEMGMT:由于缺少/无法访问包,源无效”