說明「修補程式登錄清理工具」

適用於: Windows 7 EnterpriseWindows 7 Home BasicWindows 7 Home Premium

對於 Windows Vista Service Pack 1 (SP1) 的支援將於 2011 年 7 月 12 日停止。如果要繼續收到 Windows 的安全性更新,請確定您執行的是 Windows Vista (含 Service Pack 2 (SP2))。如需詳細資訊,請參閱此 Microsoft 網頁:已結束針對部分 Windows 版本的支援

簡介


Microsoft 已經發行「修補程式登錄清理工具」。若要下載該工具,請造訪下列 Microsoft 網站 :


注意如果要參閱這項工具的使用方式資訊,請在命令提示字元中輸入 PatchRegCleanup /?

概觀


Windows Installer 使用登錄來記錄針對每一個 Windows Installer 產品所安裝之更新的相關資訊。這些登錄機碼可協助識別每一個更新的狀態:已登錄、已套用、已取代或已淘汰。已安裝更新的相關資訊儲存在數個登錄機碼與值之間。若要讓產品進入可服務的狀態,以便能夠予以修復、更新或解除安裝,務必將這些登錄機碼的資料同步化。當這些登錄機碼資料不再進行同步時,將無法在產品 .msi 檔案上執行維護模式作業。

「修補程式註冊清理工具」可協助解決與無效或損毀之更新登錄有關的某些問題,可讓您將產品恢復為已知狀態,讓您能夠重新安裝更新。

其他相關資訊


Windows Installer 將每個 Windows Installer 產品的相關資訊儲存在下列登錄子機碼下:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\<Squished GUID for Product>
擠壓的 GUID (或簡稱 SQUID) 是代表 .msi 檔案中產品代碼屬性的內部表示。針對特殊產品所安裝之更新的相關資訊,記錄於下列「修補程式」子機碼下:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\<Squished GUID for Product>\Patches\
每個更新的相關資訊會列於下列兩個位置:

  • 在 AllPatches 多字串值下。每個更新的 SQUID (無論是否已登錄、套用、取代或淘汰更新,皆列於此)。
  • 使用特殊更新之 SQUID 所命名的「修補程式」節點下的子機碼。此子機碼提供更新的詳細資訊。

修補程式節點登錄機碼


所有更新的 SQUID 皆列於「修補程式」節點下,且已登錄或套用的更新皆應包含在 AllPatches 多字串值下,才能算是有效的更新。此外,AllPatches 多字串值不應包含更新在「修補程式」節點下沒有對應之登錄機碼的 SQUID。

當更新登錄資訊未如預期時,Windows Installer 無法對產品執行任何維護模式作業。

「修補程式登錄清理」工具可以透過移除登錄機碼的方式解決其中部分問題 (該登錄機碼位在 AllPatches 多字串值下之沒有對應項目的「修補程式」節點下)。

如需有關更新登錄問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
971187 如何修正 MSI 軟體更新登錄損毀的問題