从添加/删除程序中删除错误的安装

时间:2013-08-07 17:01:24

标签: windows-7 install windows-installer windows-7-x64 uninstall

我使用Wix和Burn为我的应用程序创建了一个自定义boot-strapper,但是在学习的时候我设法安装了几个早期的变种,它们不会卸载。我想我是在调用PlanComplete之前运行Engine.Apply来创建问题的。

在“添加/删除”程序中构建列表的信息在哪里?手动删除孤立行的最佳方法是什么?

更新 - 我应该说我是64位Windows 7企业版,Service Pack 1。

4 个答案:

答案 0 :(得分:33)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninst‌​all - 这是添加删除程序的填充位置。如果从注册表中删除该条目,它将取出该条目。您可以如下所述从此处删除密钥,并物理定位和删除文件/文件夹。

在注册表编辑器中,找到上面提到的注册表项。

注册表编辑器左窗格中的“卸载”下列出的每个键表示一个程序,该程序显示在“添加或删除程序”工具的“当前安装的程序”列表中。要确定每个键所代表的程序,请单击该键,然后在右侧的详细信息窗格中查看以下值:

DisplayName: DisplayName键的值数据是“添加或删除程序”中列出的名称。

- 和 -

UninstallString: UninstallString键的值数据是用于卸载程序的程序。

在确定代表已删除但仍显示在“添加或删除程序”的“当前安装的程序”列表中的程序的注册表项后,右键单击“注册表编辑器”窗口左窗格中的项,然后单击“确定”。单击“删除”。

Microsoft Link

答案 1 :(得分:3)

如果您无法在答案中的任何一个文件夹中找到它,您可以执行Ctrl + F(编辑 - 查找...)并搜索确切的显示名称。我在制作引导程序时遇到了这个问题,在逐行搜索每个提到的文件夹后,我感到非常沮丧,没有意识到有搜索功能。它最终出现在HKEY_USERS中的一个文件夹下,而不是HKEY_LOCAL_MACHINE。

答案 2 :(得分:3)

如果您的卸载过程失败,即使从Isiah4110的答案中删除了密钥,也请检查unescapedValue。它将解决这个挥之不去的问题:

  

" SOURCEMGMT:由于丢失/无法访问包裹而导致来源无效"

答案 3 :(得分:-1)

尝试MSIZAP,它总是适合我。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa370523(v=vs.85).aspx

这不仅删除了卸载部分,还删除了所有其他已写入的注册表信息。

但要小心如何执行它,它可能会破坏您的注册表。