zoukankan      html  css  js  c++  java
  • 从注册表中删除程序,不要忘记这两个地方

        有时候我们安装在 Windows 系统中的应用程序因为出错而无法卸载,需要我们手动将其删除,应该如何做呢?此时我们应该先从注册表中将应用程序的注册信息删除,然后再从资源管理器中手动删除应用程序的安装文件夹。那么,这个注册表项是哪里呢?可能不少人都知道,是 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall。
        但是,当我们把 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中的所有注册表项都浏览过一遍后,却发现在控制面板中的“添加删除程序”列表中的应用程序好像并没有全部显示在这里,例如我们常用的 Office 系列就找不到相应的注册表项。这是怎么回事呢?
        原来,除了 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 之外,还有其它两个注册表项用来保存已注册的应用程序信息,它们就是 HKEY_CLASSES_ROOT\Installer\Products 和 HKEY_CURRENT_USER\Software\Microsoft\Installer\Products。如果我们把这三个注册表项定义的全部应用程序都加在一起,就是我们在“添加删除程序”列表中看到的所有程序了。
        HKEY_CLASSES_ROOT\Installer\Products 和 HKEY_CURRENT_USER\Software\Microsoft\Installer\Products 主要用来保存那些基于 Windows Installer 安装的应用程序,例如 Office;而 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 则主要用来保存那些基于其它安装程序的应用程序,例如常见的基于 InstallShield 安装的应用程序。因此,如果我们需要手动删除应用软件时,如果在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中找不到相应的注册表项,请务必再检查一下 HKEY_CLASSES_ROOT\Installer\Products 和 HKEY_CURRENT_USER\Software\Microsoft\Installer\Products。

  • 相关阅读:
    [华为oj]放苹果
    [华为oj]iNOC产品部-杨辉三角的变形
    值传递和引用传递
    Struts2+Jquery+Json集成
    使用堆栈结构进行字符串表达式("7*2-5*3-3+6/3")的计算
    使用环形链表解决约瑟夫(丢手帕)问题
    tomcat配置数据源
    ORA-01652:无法通过128(在表空间TEMP中)扩展temp段
    (转)Java 代码优化过程的实例介绍
    (转)走进JVM,浅水也能捉鱼
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994568.html
Copyright © 2011-2022 走看看