共用方式為


您無法在 Windows XP 中安裝某些更新或程式

本文提供一些進階的手動方法,可用來修正一些無法安裝某些更新或程序的問題。

原始 KB 編號: 822798

徵兆

當您嘗試下載 ActiveX 控件、安裝 Windows 或 Windows 元件的更新、安裝適用於 Windows 的 Service Pack 或 Windows 元件,或安裝Microsoft或第三方軟體程式時,可能會遇到下列一或多個徵兆:

注意

這些問題可能會因為這些原因而發生

  • 當您嘗試安裝程式或更新時,會收到下列錯誤訊息:

    找不到數字簽名
    Microsoft數位簽名會確認軟體已經過 Windows 測試,且軟體自測試以來尚未改變。
    您即將安裝的軟體不包含Microsoft數字簽名。 因此,不保證此軟體與 Windows 正常運作。
    軟體套件的名稱
    如果您想要搜尋Microsoft數字簽署的軟體,請造訪 的 http://update.microsoft.com Windows Update 網站,以查看是否有可用的軟體。
    您要繼續安裝嗎?

    如果您按兩下 [更多資訊],您會收到下列訊息:

    Microsoft Windows
    您要安裝之軟體套件上的簽章無效。 軟體套件未正確簽署。

    在第一個錯誤訊息對話框中按下 [確定 ] 之後,您會收到訊息,指出安裝成功,或您收到下列錯誤訊息:

    更新套件的名稱
    密碼編譯作業因為本機安全性選項設定而失敗。

  • 當您嘗試安裝更新或安裝 Service Pack 時,您會收到類似下列其中一項的錯誤訊息:

    • 錯誤 1

      更新套件的名稱
      安裝程式無法驗證 Update.inf 檔案的完整性。 請確定此電腦上正在執行密碼編譯服務。

    • 錯誤 2

      無法安裝目錄檔案。

    • 錯誤 3

      您安裝的軟體尚未通過 Windows 標誌測試,以確認其與 Windows XP 的相容性。 (告訴我為什麼這次測試很重要。
      將不會安裝此軟體。 請連絡您的系統管理員。

    • 錯誤 4

      您安裝的軟體尚未通過 Windows 標誌測試,以確認其與這個版本的 Windows 相容。 (告訴我為什麼這次測試很重要。

  • 當您嘗試安裝 Windows XP Service Pack 時,會收到類似下列的錯誤訊息:

    Service Pack 1 安裝程式無法驗證檔案的完整性。 請確定此電腦上正在執行密碼編譯服務。

  • 當您嘗試安裝 Microsoft Data Access Components (MDAC) 2.8 時,您會收到類似下列的錯誤訊息:

    INF 安裝失敗。 原因:時間戳簽章和/或憑證無法驗證或格式不正確。

  • %WINDIR%\System32\CatRoot2\Edb.log即使檔案通常小於 1 MB,仍可能會成長為 20 MB。

  • 當您嘗試從 Windows Update 網站或 Microsoft Update 網站安裝套件時,您會收到類似下列的訊息:

    軟體尚未通過 Windows 標誌測試,且不會安裝。

  • 當您檢查 %systemroot%\Windowsupdate.log 檔案時,會看到下列其中一個錯誤的記錄:

    • 0x80096001
    • 0x80096005
    • 0x80096010
    • 0x800B0001
    • 0x800B0003
    • 0x800B0004
    • 0x800B0109
    • 0x8007f0da
    • 0x8007f01e
  • 當您在 Windows XP 型電腦上使用Microsoft Windows Update 時,更新程式會失敗,而且您會收到0x8007f007錯誤訊息。 不論您選取的更新類型為何,都可能發生此情況。

  • Svcpack.log 檔案可能包含類似下列項目的記錄

937.406:GetCatVersion:無法從 C:\WINDOWS\system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Tmp.0.scw.cat 擷取版本資訊,錯誤 0x57。937.437:GetCatVersion:無法從 C:\WINDOWS\Tmp.0.scw.cat 擷取版本資訊,錯誤 0x80092004。940.344:InstallSingleCatalogFile:MyInstallCatalog 失敗,Tmp.0.scw.cat;錯誤=0xfffffbfe。 940.344:DoInstallation:MyInstallCatalogFiles 安裝失敗:STR_CATALOG_INSTALL_FAILED
955.125:UnRegisterSpuninstForRecovery,無法刪除 SpRecoverCmdLine 值,錯誤0x2
955.125:DoInstallation:無法取消註冊spuninst.exe以進行復原。
962.656:取消註冊卸載程式 -> Windows Server 2003 Service Pack, 0
962.656:無法安裝目錄檔案。 1448.406:向用戶顯示的訊息:無法安裝類別目錄檔案。
1448.406:使用者輸入:確定
1448.406:Update.exe擴充錯誤碼 = 0xf01e
1448.406:Update.exe 傳回碼已覆蓋為符合 MSI 自定義動作要求的 0x643。

原因

下列任一情況都可能發生這些問題:

  • 記錄檔或資料庫損毀存在於 %Systemroot%\System32\Catroot2 資料夾中。
  • 密碼編譯服務 設定為 停用
  • 其他 Windows 檔案已損毀或遺失。
  • 時間戳簽章或憑證無法驗證或格式不正確。
  • 已針對 %Windir% 資料夾或其其中一個子資料夾設定隱藏屬性。
  • 未簽署的非驅動程式安裝行為群組原則設定(僅限 Windows 2000)設為不允許安裝警告但允許安裝,或者原則的二進位值未設為 0 在以下的登錄機碼中:HKEY_LOCAL_MACHINE\Software\Microsoft\Non-Driver Signing
  • 啟用信任的發行者鎖定群組原則設定已開啟,且您的信任發行者憑證庫存中沒有適當的憑證。 此組策略設定位於 [使用者設定]、[Windows 設定] 底下的 [Internet Explorer 維護]、[安全性] 底下的 [驗證碼設定] 下的 [組策略 MMC 嵌入式管理單元]。
  • 您正在安裝 Internet Explorer 6 SP1,並安裝 823559 (MS03-023) 安全性更新。
  • 軟體發佈資料夾已損毀。

方法 1:重新命名Edb.log檔案

重新命名Edb.log檔案,然後再次嘗試安裝程式。 若要重新命名Edb.log檔案,請遵循下列步驟:

  1. 按兩下 [開始],按兩下 [執行],在 [ 開啟 ] 方塊中輸入 Cmd,然後按兩下 [ 確定]。

    注意

    在 Windows Vista 型電腦上,按兩下 [開始] ,在 [開始搜尋] 文字框中輸入 cmd,以滑鼠右鍵按兩下 [cmd.exe],然後按兩下 [以系統管理員身分執行]。

  2. 在命令提示字元中輸入下列命令,然後按 ENTER:

    ren %systemroot%\system32\catroot2\Edb.log *.tst
    

方法 2:暫時關閉信任的發行者鎖定,並將適當的憑證安裝到信任的發行者證書存儲

您可以繼續使用 [ 啟用受信任的發行者鎖定 組策略] 設定,但您必須先將適當的憑證新增至信任的發行者證書存儲。 若要這樣做,請關閉 [ 啟用受信任的發行者鎖定 組策略] 設定,在信任的發行者證書存儲中安裝適當的憑證,然後重新開啟 [啟用受信任的發行者鎖定 組策略] 設定。 若要安裝適用於 Windows Microsoft 和 Microsoft Internet Explorer 產品更新的適當憑證,請遵循下列步驟:

  1. 從 Microsoft 下載中心、Windows Update 目錄,或從 Microsoft Update 下載Microsoft產品更新。

    如需如何從Microsoft下載中心下載產品更新的詳細資訊,請檢視 如何從在線服務目錄取得Microsoft支持檔案。

    如需如何從 Windows Update 目錄下載產品更新的詳細資訊,請檢視 如何從 Windows Update 目錄下載包含驅動程式和 Hotfix 的更新。

  2. 將產品更新套件解壓縮到暫存資料夾。 您用來執行這項操作的命令列命令取決於您嘗試安裝的更新。 檢視與更新相關聯的Microsoft知識庫文章,以判斷您將用來擷取套件的適當命令行參數。 例如,若要將 Windows XP 824146安全性更新解壓縮至 C:\824146 資料夾,請執行 Windowsxp-kb824146-x86-enu -x:c:\824146。 若要將 Windows XP 的 828750 安全性更新解壓縮至 C:\828750 資料夾,請執行 q828750.exe /c /t:c:\828750

  3. 以滑鼠右鍵按下您在步驟 2 中建立之暫存資料夾中產品更新套件的 KB Number.cat 檔案,然後按兩下 [ 屬性]。

    注意

    KB Number.cat 檔案可能位於子資料夾中。 例如,檔案可能位於 C:\824146\sp1\update 資料夾或 C:\824146\sp2\update 資料夾中。

  4. 在 [ 數字簽名] 索引 標籤上,按兩下數位簽名,然後按兩下 [ 詳細數據]。

  5. 按兩下 [ 檢視憑證],然後按兩下 [ 安裝憑證]。

  6. [下一步] 啟動 [憑證匯入精靈]。

  7. 按兩下 [將所有憑證放在下列存放區],然後按兩下 [ 瀏覽]。

  8. 按一下受信任的發行者,然後按一下確定

  9. [下一步],按兩下 [完成],然後按兩下 [ 確定]。

方法 3:驗證認證路徑中所有憑證的狀態,並從另一部計算機匯入遺失或損毀的憑證

若要確認 Windows 或 Internet Explorer 產品更新憑證路徑中的憑證,請遵循下列步驟:

步驟 1:驗證Microsoft憑證

  1. 在 Internet Explorer 中,按一下 [工具] ,然後按一下 [網際網路選項]

  2. 在 [ 內容] 索引標籤上,按兩下 [ 憑證]。

  3. 受信任的根憑證授權單位 標籤上,按兩次滑鼠左鍵開啟 Microsoft 根授權單位。 如果遺失此憑證,請移至步驟 2。

  4. 在 [一般] 標籤頁上,確定 [起始日期] 是 1997年1月10日至2020年12月31日

  5. 在 [憑證路徑] 索引標籤上,確認 [憑證狀態] 底下出現此憑證是否正常

  6. 點擊確定,然後在不承擔責任的 憑證上雙擊。

  7. 在 [ 一般] 索引標籤上,確定 [有效日期]5/11/1997 到 2004/1/7。

  8. 在 [憑證路徑] 索引卷標上,確認此憑證已過期或尚未有效,或 [憑證狀態] 底下顯示 [此憑證是否正常]。

    注意

    雖然此憑證已過期,但憑證將會繼續運作。 如果憑證遺失或撤銷,操作系統可能無法正常運作。 如需詳細資訊,請檢視 必要的受信任根證書

  9. 按一下 確定,然後按兩下 GTE CyberTrust 根 證書。 您可能有多個具有相同名稱的憑證。 檢查到期日為 2006 年 2 月 23 日的憑證。

  10. 在 [ 一般 ] 索引標籤上,確定 [有效日期] 是 2/23/1996 到 2/23/2006。

  11. 在 [憑證路徑] 索引標籤上,確認 [憑證狀態] 底下出現此憑證是否正常

    注意

    雖然此憑證已過期,但憑證將會繼續運作。 如果憑證遺失或撤銷,操作系統可能無法正常運作。

  12. 按一下 確定,然後按兩下 Thawte Timestamping CA

  13. 在 [ 一般] 索引標籤上,確定 [有效日期] 是 12/31/1996 到 2020/12/31。

  14. 在 [憑證路徑] 索引標籤上,確認 [憑證狀態] 底下出現此憑證是否正常

步驟 2:匯入遺失或損毀的憑證

如果其中一或多個憑證遺失或損毀,請將遺失或損毀的憑證導出至另一部計算機,然後在您的電腦上安裝憑證。 若要在另一部計算機上匯出憑證,請遵循下列步驟:

  1. 在 Internet Explorer 中,按一下 [工具] ,然後按一下 [網際網路選項]
  2. 在 [ 內容] 索引標籤上,按兩下 [ 憑證]。
  3. 受信任的根憑證授權單位 標籤上,按一下您要匯出的憑證。
  4. 按兩下 [ 導出],然後依照指示將憑證導出為 DER 編碼的 Binary x.509(。CER) 檔案。
  5. 匯出憑證檔案之後,請將它複製到您要匯入它的計算機。
  6. 在您要匯入憑證的電腦上,雙擊憑證。
  7. 按一下 安裝憑證,然後按一下 下一步
  8. 按一下 [完成] ,然後按一下 [確定]

方法 4:清除暫存盤並重新啟動 Hotfix 安裝或 Service Pack 安裝

若要清除暫存盤並重新啟動 Hotfix 安裝或 Service Pack 安裝,請遵循下列步驟:

  1. 依序按一下 [ 開始] 和 [ 執行]、輸入 cmd,然後按一下 [ 確定]。

  2. 在命令提示字元中,輸入下列命令。 在每個命令之後按 Enter 鍵。

    net stop cryptsvc
    ren %systemroot%\System32\Catroot2 oldcatroot2
    net start cryptsvc
    exit
    
  3. 移除下列資料夾中的所有 tmp*.cat 檔案:

    • %systemroot% \system32\CatRoot{127D0A1D-4EF2-11D1-8608-00C04FC295EE}
    • %systemroot% \system32\CatRoot{F750E6C3-38EE-11D1-85E5-00C04FC295EE}

    如果此資料夾中沒有以 tmp 開頭的檔案,請勿移除任何其他檔案。 此資料夾中的 .cat 檔案是安裝 Hotfix 和 Service Pack 的必要專案。

    重要

    請勿重新命名 Catroot 資料夾。 如果 Catroot 資料夾被重新命名,Windows 會自動重新建立 Catroot2 資料夾,但不會重新建立 Catroot 資料夾。

  4. 從 %systemroot% \inf 資料夾刪除所有 oem*.* 檔案。

  5. 重新啟動失敗的 Hotfix 安裝或 Service Pack 安裝。

方法 5:清空軟體發佈資料夾

  1. 按兩下 [ 開始],按兩下 [執行],輸入 services.msc,然後按兩下 [ 確定]。

    注意

    在 Windows Vista 型電腦上,按兩下 [開始],在 [開始搜尋] 方塊中輸入 services.msc,以滑鼠右鍵按兩下 services.msc,然後按兩下 [以系統管理員身分執行]。

  2. 在 [服務][本機] 窗格中,以滑鼠右鍵按兩下 [自動更新],然後按兩下 [ 停止]。

  3. 最小化本機服務視窗。

  4. 選取 Windows 散發套件資料夾的所有內容,然後加以刪除。

    注意

    根據預設,Windows 散發資料夾位於 磁碟驅動器 :\Windows\SoftwareDistribution 資料夾中。 在此位置中,磁碟 是安裝 Windows 的磁碟機的佔位符。

  5. 請確定 Windows 發行資料夾是空的,然後將「本機服務」視窗最大化。

  6. 在 [ 服務][本機] 窗格中,以滑鼠右鍵按兩下 [自動更新],然後按兩下 [ 啟動]。

  7. 重新啟動計算機,然後再次執行 Windows Update。

方法 6:執行就地升級

如果所有這些方法都無法解決問題,您可能必須執行就地升級。

資料收集

若您需要 Microsoft 支援,建議您按照使用 TSS 收集部署相關問題的資訊所述步驟來收集資訊。