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

Posted

技术标签:

【中文标题】从添加/删除程序中删除错误安装【英文标题】:Removing bad installs from Add/Remove programs 【发布时间】:2013-08-09 04:24:42 【问题描述】:

我使用 Wix 和 Burn 为我的应用程序创建了一个自定义引导程序,但在学习过程中,我设法安装了几个早期的变体,使它们不会被卸载。我想我是在调用 PlanComplete 之前运行 Engine.Apply 造成的。

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

更新 - 我应该说我使用的是 64 位 Windows 7 Enterprise Service Pack 1。

【问题讨论】:

【参考方案1】:

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

在注册表编辑器中,找到上述注册表项。

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

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

-和-

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

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

Microsoft Link

【讨论】:

虽然看起来不错,但它不包含我的安装,也不包含我的添加/删除程序中的所有其他安装。例如,Orca 不存在,WiX 工具集也不存在。我应该说我使用的是 Windows 7 Enterprise Service Pack 1。 @TomDestry 你是否也检查过HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall 我的添加/删除程序现在是原始的。谢谢你们。 只是出于好奇,您为什么安装所有这些应用程序的 32 位版本而不是 64 位版本? : 因为有些键是不可读的 UUID,你可能需要搜索一些东西。出现在“添加或删除程序”页面中的名称或发布者都可以正常工作。希望其中之一至少有点独特。【参考方案2】:

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

【讨论】:

【参考方案3】:

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

“SOURCEMGMT:由于缺少/无法访问包,源无效”

【讨论】:

以上是关于从添加/删除程序中删除错误安装的主要内容,如果未能解决你的问题,请参考以下文章

我的程序从指针列表中删除对象并添加到指针列表的问题

即使从配置文件中删除了 UDID,iOS 应用程序仍在安装到设备中

删除用户后可以将用户添加到 OneSignal 吗?

如何从 iOS 应用程序中删除保存数据

我不小心把MAYA删除了 是强行删除 添加或删除程序还有MAYA 现在安装不了也删除不了 要怎么办?

如何从包含多个 MSI 的 wix 自定义引导程序包中安装/卸载单个 msi,例如安装项目的添加/删除功能?