本文提供了控制面板中“添加/删除程序**”工具错误地显示已安装程序的问题**的解决方案。
适用于: Windows XP原始 KB 数: 266668
现象
安装和卸载程序时,控制面板中的“添加/删除程序”工具可能会错误地显示已安装的程序。 “当前安装的程序”框只能包含一个文本字符串,或者在程序条目之前显示大空白。 其他显示问题可能包括没有列出的程序。 此外,可能会出现以下错误消息之一:
Message 1
发生了意外错误。 未注册类 res://appwiz.cpl/listbox.htc 行:225
Message 2
对象不支持此属性或方法 res://appwiz.cpl/default.hta 行:75
原因
如果程序的卸载程序错误地删除了 Windows 和“添加/删除程序”工具使用的注册表项,则可能会出现此问题。
解决方法
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表。
若要解决该问题,请执行以下步骤:
-
单击“开始”,单击“运行”,然后键入 CMD。
-
在提示符下键入
REGSVR32 APPWIZ.CPL。 -
如果此操作失败,请查找下面列出的注册表项。 若要解决此问题,请检查注册表中的以下键和值。 重新创建任何缺失的键或值。 这些密钥使用系统驱动器号。 可能需要调整这些条目以匹配计算机的配置。
- [HKEY_CLASSES_ROOT\CLSID{00000535-0000-0010-8000-00AA006D2EA4}]“ADODB。记录集”
- [HKEY_CLASSES_ROOT\CLSID{00000535-0000-0010-8000-00AA006D2EA4}\InprocServer32]“C:\Program Files\Common Files\System\ado\msado15.dll”
- [HKEY_CLASSES_ROOT\CLSID{00000535-0000-0010-8000-00AA006D2EA4}\InprocServer32]“ThreadingModel”=“Apartment”
- [HKEY_CLASSES_ROOT\CLSID{00000535-0000-0010-8000-00AA006D2EA4}\ProgID]“ADODB。Recordset.2.5”
- [HKEY_CLASSES_ROOT\CLSID{00000535-0000-0010-8000-00AA006D2EA4}\VersionIndependentProgID]“ADODB。记录集”
- HKEY_CLASSES_ROOT\CLSID{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29 } “Microsoft OLE DB 行位置库”
- HKEY_CLASSES_ROOT\CLSID{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\InprocServer32 “C:\Program Files\Common Files\System\Ole DB\oledb32.dll” “ThreadingModel”=“Both”
- HKEY_CLASSES_ROOT\CLSID{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\ProgID “RowPosition.RowPosition.1”
- HKEY_CLASSES_ROOT\CLSID{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}\VersionIndependentProgID “RowPosition.RowPosition”
- [HKEY_CLASSES_ROOT\CLSID{352EC2B7-8B9A-11D1-B8AE-006008059382}\InProcServer32] %SystemRoot%\System32\appwiz.cpl
-
按照以下过程之一中的步骤操作,因为它适用于计算机,然后测试以确定此问题是否已解决。 如果问题得到解决,请跳过其余步骤。 如果问题未解决,请转到步骤 5。
-
若要解决安装 Internet Explorer 6.0 的问题,请修复 Internet Explorer 6.0:
-
单击“开始”,然后单击“运行”。
-
将以下命令粘贴到 “打开 ”框中,然后单击“ 确定” :
rundll32 setupwbv.dll, IE6Maintenance C:\Program Files\Internet Explorer\Setup\SETUP.EXE /g C:\WINDOWS\IE Uninstall Log.Txt由于此命令区分大小写,Microsoft建议从本文复制该命令,然后将该命令粘贴到“打开”框中。
-
-
若要解决安装 Internet Explorer 5.0 或 5.5 的问题,请修复 Internet Explorer 5.0 或 5.5:
-
单击“开始”,然后单击“运行”。
-
将以下命令粘贴到 “打开 ”框中,然后单击“ 确定” :
rundll32 setupwbv.dll, IE5Maintenance C:\Program Files\Internet Explorer\Setup\SETUP.EXE /g C:\WINDOWS\IE Uninstall Log.Txt由于此命令区分大小写,Microsoft建议从本文复制该命令,然后将该命令粘贴到“打开”框中。
-
-
-
执行就地升级:
注意
在执行就地升级之前,请确保备份数据。 有关执行就地升级的风险的详细信息,请参阅“详细信息”部分。
- 从 \I386 目录运行Winnt32.exe。
- 出现“设置”屏幕时,继续升级。
- 允许安装完成。
如果“添加/删除程序”工具仍然无法正常运行,显示无内容,或者如果想要尝试修复此问题而不升级到更高版本的 Internet Explorer,请检查以下注册表项以确保它们包含条目:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\UninstallHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Management\ARPCache
注意
如果以前的注册表项为空,则“添加/删除程序”工具也可能为空。
使用命令行REGSVR32 [path\filename] 注册以下每个文件:
- %systemroot%\System32\Appwiz.cpl
- %systemroot%\System32\Mshtml.dll
- %systemroot%\System32\Jscript.dll
- %systemroot%\System32\Msi.dll
- Program Files\Common Files\System\Ole DB\Oledb32.dll
- Program Files\Common Files\System\Ado\Msado15.dll
- %systemroot%\System32\Msdart32.dll [不可注册]
- %systemroot%\System32\Mshtmled.dll
- %systemroot%\System32\Mswstr10.dll [不可注册]
如果“添加/删除程序”工具显示不完整的信息或为空,请验证文件日期。 如果可能,请注册以下文件:
- %systemroot%\System32\Gdi32.dll [不可注册]
- %systemroot%\System32\User32.dll [不可注册]
- %systemroot%\System32\Msvcrt.dll [不可注册]
- %systemroot%\System32\Ole32.dll
- %systemroot%\System32\Shlwapi.dll [不可注册]
- %systemroot%\System32\Imm32.dll [不可注册]
- %systemroot%\System32\Indicdll.dll [不可注册]
- %systemroot%\System32\Urlmon.dll
- %systemroot%\System32\Version.dll [不可注册]
- %systemroot%\System32\Lz32.dll [不可注册]
- %systemroot%\System32\Comctl32.dll [不可注册]
- %systemroot%\System32\Clbcatq.dll
- %systemroot%\System32\Oleaut32.dll
- %systemroot%\System32\Mlang.dll
- %systemroot%\System32\Shell32.dll
- %systemroot%\System32\Shdoclc.dll [不可注册]
- %systemroot%\System32\NetapI32.dll [不可注册]
- %systemroot%\System32\Secur32.dll [不可注册]
- %systemroot%\System32\Netrap.dll [不可注册]
- %systemroot%\System32\Samlib.dll [不可注册]
- %systemroot%\System32\Ws2_32.dll [不可注册]
- %systemroot%\System32\Ws2help.dll [不可注册]
- %systemroot%\System32\Wldap32.dll [不可注册]
- %systemroot%\System32\Dnsapi.dll [不可注册]
- %systemroot%\System32\Wsock32.dll [不可注册]
- %systemroot%\System32\Plugin.ocx
- %systemroot%\System32\Wininet.dll [不可注册]
- %systemroot%\System32\Crypt32.dll [不可注册]
- %systemroot%\System32\Msasn1.dll [不可注册]
- %systemroot%\System32\Msls31.dll [不可注册]
- %systemroot%\System32\Imgutil.dll
- %systemroot%\System32\Cscui.dll
- %systemroot%\System32\Cscdll.dll [不可注册]
如果“添加/删除程序”工具可以绘制对话框用户界面,但不显示任何已安装的程序内容,请检查注册表中是否存在以下项:
HKEY_CLASSES_ROOT\CLSID\{352EC2B7-8B9A-11D1-B8AE-006008059382}\InProcServer32
如果缺少此注册表项,请将以下文本复制到文本文件,保存扩展名为 .reg 的文件,然后双击受影响计算机上的文件以返回正确的条目。
对于 Windows 注册表编辑器版本 5.00:
[HKEY_CLASSES_ROOT\CLSID{352EC2B7-8B9A-11D1-B8AE-006008059382}\InProcServer32] @=hex(2):25,00,53,00,00,00,1 79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,00,74,00,25,00,5c 00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,61,0 0,70,00,70,00,77,00,69,00,7a,00,2e,00,63,00,70,00,6c,00,00,00,00 “ThreadingModel=Apartment”
Status
Microsoft已确认这是“适用于”部分中列出的Microsoft产品中的问题。
以下列表包括添加/删除程序使用的所有注册表项。 这些密钥必须通过注册Appwiz.cpl进行设置,但此处提供了这些密钥供交叉引用,以确认注册是否已成功完成。
-
[HKEY_CLASSES_ROOT\CLSID{352EC2B7-8B9A-11D1-B8AE-006008059382}]
@=“%DESC_ShellAppMgr%”
-
[HKEY_CLASSES_ROOT\CLSID{352EC2B7-8B9A-11D1-B8AE-006008059382}\InProcServer32]
@=“SystemRoot%\System32\appwiz.cpl” (REG_EXPAND_SZ)“ThreadingModel”=“Apartment”
-
[HKEY_CLASSES_ROOT\CLSID{0B124F8C-91F0-11D1-B8B5-006008059382}]
@=“Installed Apps Enumerator”
-
[HKEY_CLASSES_ROOT\CLSID{CFCCC7A0-A282-11D1-9082-006008059382}]
@=“Darwin 应用发布者”
-
[HKEY_CLASSES_ROOT\CLSID{CFCCC7A0-A282-11D1-9082-006008059382}\InProcServer32]
@=“SystemRoot%\System32\appwiz.cpl” (REG_EXPAND_SZ)“ThreadingModel”=Apartment”
-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
“{352EC2B7-8B9A-11D1-B8AE-006008059382}”=“Shell 应用程序管理器”
-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\Publishers\Darwin App Publisher] @=“{CFCCC7A0-A282-11D1-9082-006008059382}”
-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]“{CFCCC7A0-A282-11D1-9082-006008059382}”=“Darwin App Publisher”
-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\InProcCPLs]“appwiz.cpl”=“”
运行 ARP 后使用的注册表项
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\AppInstallPath读取 INF 文件。 代码读取 INF 文件名。 使用的 INF 部分是 AppInstallList
-
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer\Terminal Server\EnableAdminRemote在 ARP 运行时设置为 1。 告知 TS ARP 正在运行。 ARP 退出时设置为 0。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Management\Publishers枚举应用发布者 -
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Wx86\cmdline读取以确定 wx86 是否已启用。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\NewShortcutHandlers枚举以获取新链接处理程序的列表。 看起来这些处理程序可能会为给定项添加链接- 例如,将链接添加到开始菜单、桌面或其他项。
-
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Shutdown\ForceReboot读取以确定运行安装程序后是否需要重启。 存在值意味着必须重新启动 == true。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\MS-DOSOptions