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

本文提供一些可供您用來修正某些問題的高級手動方法,使您無法安裝某些更新或程式。

原始產品版本:   Windows 10-all edition,Windows Server 2012 R2
原始 KB 編號:   822798

徵狀

當您嘗試下載 ActiveX 控制項、將更新安裝至 Windows 或 Windows 元件、安裝 windows service pack 或 windows 元件,或安裝 Microsoft 或協力廠商軟體程式時,您可能會遇到下列一或多項的情況:

注意

這些問題可能是由於 這些原因所造成。

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

    找不到數位簽章
    Microsoft 數位簽章 affirms 已使用 Windows 測試的軟體,而且軟體自測試後並未變更。
    您即將安裝的軟體不包含 Microsoft 數位簽章。 因此,並不保證此軟體能在 Windows 上正確運作。
    軟體套件的名稱
    若要搜尋 Microsoft 數位簽署的軟體,請流覽 Windows Update 網站, http://update.microsoft.com 以查看是否有可用的軟體。
    是否要繼續安裝?

    如果您按一下 [ 詳細資訊],您會收到下列訊息:

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

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

    更新套件的名稱
    因為本機安全性選項設定,所以無法進行加密操作。

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

    • 錯誤1

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

    • 錯誤2

      無法安裝目錄檔案。

    • 錯誤3

      您所安裝的軟體未通過 Windows 徽標測試來驗證它與 Windows XP 的相容性。 (告訴我為何此測試很重要。 )
      將不會安裝此軟體。 請跟您的系統管理員連絡。

    • 錯誤4

      您正在安裝的軟體未傳遞 Windows 標誌測試,以驗證它與此版本 Windows 的相容性。 (告訴我為何此測試很重要。 )

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

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

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

    INF 安裝失敗。 原因:無法驗證 timestamp 簽名和/或憑證,或其格式不正確。

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

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

    軟體尚未通過 Windows 徽標測試,因此不會安裝。

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

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

  • Svcpack 檔案可能包含類似下列的專案

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 失敗。錯誤 = 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:使用者輸入: OK
1448.406: Update.exe 擴充的錯誤碼 = 0xf01e
1448.406:針對 MSI 自訂動作規範,將 Update.exe 傳回程序代碼遮罩至0x643。

原因

在下列任何情況下,都可能會發生這些問題:

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

方法1:重新命名 Edb 記錄檔

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

  1. 依序按一下 [ 開始]、[ 執行],在 [ 開啟 ] 方塊中輸入 Cmd,然後按一下 [確定]

    注意

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

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

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

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

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

  1. 從 Microsoft 下載中心、Windows Update 目錄或 Microsoft Update 下載您要安裝的 Microsoft 產品更新。

    如需如何從 Microsoft 下載中心下載產品更新的詳細資訊,請查看 線上服務目錄中取得 Microsoft 支援檔案的方式

    如需如何從 Windows Update 目錄下載產品更新的詳細資訊,請查看 如何從 Windows Update 目錄下載包含驅動程式和修復程式的更新

  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 編號.cat 檔案,然後按一下 [ 屬性]。

    注意

    KB 編號.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. 在 [ 一般 ] 索引標籤上,確定 [ 有效期的開始 日期為 1/10/1997 至 12/31/2020]。

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

  6. 按一下 [確定],然後按兩下 [ 未接受責任 ] 憑證。

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

  8. 在 [憑證路徑] 索引標籤上,確認此憑證已過期或尚未生效,或 [憑證狀態] 底下出現 [此憑證是正確的]

    注意

    雖然此憑證已過期,但憑證仍可運作。 如果憑證遺失或撤銷,作業系統可能無法正常運作。 如需詳細資訊,請查看 必要的受信任的根憑證

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

  10. 在 [ 一般 ] 索引標籤上,確定 [ 有效期的開始 日期為2/23/1996 至 2/23/2006]。

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

    注意

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

  12. 按一下 [確定],然後按兩下 [ Thawte 時間戳記] CA

  13. 在 [ 一般 ] 索引標籤上,確定 [ 有效期的開始 日期為12/31/1996 至 12/31/2020]。

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

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

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

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

方法4:清除暫存檔,並重新啟動修復程式安裝或 service pack 安裝

若要清除暫存檔,並重新啟動修復程式安裝或 service pack 安裝,請遵循下列步驟:

  1. 按一下 [ 開始],按一下 [ 執行],輸入 Cmd,然後按一下 [確定]

  2. 在命令提示字元處,輸入下列命令。 每個命令執行完畢後,按 Enter。

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

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

    如果此資料夾中沒有以 tmp 開頭的檔案,請勿移除任何其他檔案。 若要安裝修複程式和 service pack,必須要有此資料夾中的 .cat 檔案。

    重要

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

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

  5. 重新開機失敗的修復程式安裝或 service pack 安裝。

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

  1. 按一下 [ 開始],按一下 [ 執行],輸入 Services.msc,然後按一下 [確定]

    注意

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

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

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

  4. 選取 [Windows 發佈資料夾] 的所有內容,然後將其刪除。

    注意

    依預設,Windows 發佈資料夾位於 drive : \Windows\SoftwareDistribution 資料夾中。 在此位置, drive 是 Windows 安裝所在磁片磁碟機的預留位置。

  5. 請確定 Windows 發行資料夾是空白的,然後 (本機) ] 視窗中的 [服務] 最大化。

  6. 在 [ **服務] ([本地) ** ] 窗格中,以滑鼠右鍵按一下 [ 自動更新],然後按一下 [ 啟動]。

  7. 重新開機電腦,然後再次執行 [Windows 更新]。

方法6:執行就地升級

如果這些方法都無法解決您的問題,您可能需要執行就地升級。