有時候我們安裝在 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。