文章編號: 2509997 - 上次校閱: 2012年3月20日 - 版次: 1.1

無法在 Windows Vista、 Windows 7、 Windows Server 2008 及 Windows Server 2008 R2 中安裝更新

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

當您嘗試在 Windows 上安裝更新、 您嘗試安裝 Windows 元件,或您嘗試安裝 Microsoft 或協力廠商軟體程式時,您會遭遇下列一或多個下列徵狀:
  • 您無法檢視 Windows 角色或功能。
  • 服務封包安裝將會失敗。
  • 當您嘗試連線至 Microsoft Windows Update 網站,或是 Microsoft Update 網站時,其中一個下列的錯誤代碼登入的 Windows 更新記錄 (windowsupdate.log) 在服務元件基礎的記錄檔 (CBS.log):
    • 0xC80001FE
    • 0x80200010
    • 0x80070643
    • 0x80246002
    • 0x80070490
    • 0x80070420
    • 0x80073712
    • 0x80246007
    • 0x80000FFF
    • 0x80070424
    • 0x80248007
    • 0x8007064C
    • 0x8024D00C
    • 0x8007066A
    • 0x80245003
    • 0x8024402C

發生的原因

可能發生這個問題,如果有一個或多個下列情況皆成立:
  • Windows Update 資料庫已損毀。
  • 防毒軟體設定為掃描 [%Windir%\SoftwareDistribution] 資料夾。
  • 背景智慧型傳送服務 (BITS) 服務不會收到內容的連結標題。
  • 是不正確地登錄所需的系統檔案。
  • Windows 安裝程式發生錯誤。
  • 元件基礎服務 (CBS) 資訊清單已損毀。
  • 在安裝期間,Windows Opdate 服務停止。
  • 檔案版本衝突可能存在於 Windows 更新代理程式 」 檔案。

解決方案

若要解決這個問題,請嘗試下列方法。在每個方法中執行這些步驟之後,測試看看是否要在您繼續進行下一個方法之前,解決問題。如果問題已解決由任何方法,您就不必再執行其餘的方法。

方法 1: 重新啟動電腦,然後再試一次安裝更新

關閉所有正在執行的程式,重新啟動電腦,然後再試一次安裝的更新程式。

附註 重新啟動電腦會確定所有先前的安裝完成,且沒有任何剩餘的處理序會需要重新啟動系統,它們可以完成之前。

方法 2: 執行 「 系統更新整備工具 (CheckSur.exe)

下載並執行 「 系統更新整備工具。這個工具會執行一次掃描可能會阻止未來服務操作的不一致性。如需有關如何下載並執行 CheckSur.exe 工具的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
947821 (947821) 系統更新整備工具,Windows Vista、 Windows Server 2008,Windows 7,和 Windows Server 2008 R2 的說明
請試著再次安裝更新。

附註 在執行工具之後,CheckSur.log 檔案會儲存在下列位置:
%systemroot%\logs\cbs

方法 3: 執行 「 系統檔案檢查員 」 工具 (SFC.exe)

執行 「 系統檔案檢查員 」 工具 (SFC.exe)。執行這項操作,請依照下列步驟執行:
  1. 開啟 [系統管理的 [命令提示字元] 視窗。
  2. 在命令提示字元中,輸入 sfc /scannow然後按下 請輸入.
  3. 掃描完成後,再試一次安裝的更新。

方法 4: 重設 [Catroot2] 資料夾的內容

重設 [Catroot2] 資料夾的內容。執行這項操作,請依照下列步驟執行:
  1. 輸入下列命令,並在每一行之後按下 Enter:
    • net stop cryptsvc
    • md %systemroot%\system32\catroot2.old
    • xcopy %systemroot%\system32\catroot2 %systemroot%\system32\catroot2.old /s
  2. 刪除所有內容的 [catroot2] 資料夾中,但不是能都刪除 [catroot2] 資料夾。
  3. 輸入下列命令,然後再按 Enter 鍵:
    net start cryptsvc
  4. 結束 [命令提示字元] 視窗。

方法 5: 移除任何不正確的登錄值

移除任何不正確的值可能存在於登錄中。執行這項操作,請依照下列步驟執行:
  1. 按一下 啟動然後輸入 regedit開始搜尋 方塊中。
  2. 程式 清單中按一下 regedit.exe.
  3. 找出並選取 [下列登錄子機碼:
    HKEY_LOCAL_MACHINE\COMPONENTS
  4. 以滑鼠右鍵按一下元件.
  5. 按一下 匯出.
  6. 檔名 方塊中輸入 元件.
  7. 將儲存在 方塊中按一下 桌面按一下 儲存檔案然後將檔案儲存到您的桌面。
  8. 在詳細資料窗格中,以滑鼠右鍵按一下 PendingXmlIdentifier然後按一下 刪除.如果這個值不存在,請執行下一個步驟。
  9. 在詳細資料窗格中,向右按一下 [NextQueueEntryIndex然後按一下 刪除.如果這個值不存在,請執行下一個步驟。
  10. 在 [詳細資料] 窗格中,以滑鼠右鍵按一下AdvancedInstallersNeedResolving然後按一下 刪除.如果值不存在,請執行下一個步驟。
  11. 重新啟動電腦。
  12. 請試著再次安裝此更新。
方法六: 登錄 Windows 更新檔案
登錄的 Windows 更新檔案。執行這項操作,請依照下列步驟執行:
  1. 開啟 [系統管理的 [命令提示字元] 視窗。
  2. 在命令提示字元中,輸入下列命令:
    REGSVR32 WUPS2。DLL /S
    REGSVR32 WUPS。DLL /S
    REGSVR32 WUAUENG。DLL /S
    REGSVR32 WUAPI。DLL /S
    REGSVR32 WUCLTUX。DLL /S
    REGSVR32 WUWEBV。DLL /S
    REGSVR32 JSCRIPT。DLL /S
    REGSVR32 MSXML3。DLL /S
  3. 請試著再次安裝更新。

請確定您的防毒應用程式不會掃描特定檔案的方法 7:

請確定您的防毒應用程式不會掃描中的檔案 %windir%\SoftwareDistribution 在安裝 Windows 更新代理程式的任何電腦上的目錄。

對於正在執行 Windows Server 2003、 Microsoft Windows 2000、 Windows XP,Windows Vista 中或 Windows Server 2008 的電腦,不要掃描下列檔案和資料夾。

附註 這些檔案沒有受感染的風險。如果您掃描這些檔案,嚴重的效能問題可能是因為有些檔案可能已被鎖定。如果一組特定的檔案由名稱所識別的只排除那些檔案而非整個資料夾。某些情況下,您必須排除整個資料夾。請勿排除這些檔案的副檔名為基礎的項目。例如,請勿排除副檔名為.dit 的所有檔案。Microsoft 具有無法控制其他檔案,可能會使用相同的副檔名為這些檔案。
  • Microsoft Windows Update 或自動更新相關的檔案
  • Windows Update 或資料庫檔案自動更新的資料庫檔案

    附註 這個檔案 (Datastore.edb) 位於下列目錄:
    %windir%\SoftwareDistribution\Datastore
  • 交易記錄檔

    附註 這些檔案位於下列資料夾:
    %windir%\SoftwareDistribution\Datastore\Logs
排除下列檔案:
  • Edb*.log

    附註 萬用字元表示可能有數個檔案。
  • Res1.log
  • Res2.log
  • Edb.chk
  • Tmp.edb

方法 8: 重新命名 [SoftwareDistribution] 資料夾

Windows Update 暫時 SoftwareDistribution 資料夾重新命名。執行這項操作,請依照下列步驟執行:
  1. 開啟 [系統管理的 [命令提示字元] 視窗。
  2. 請執行下列命令,並在每一行之後按下 Enter:
    • Net stop wuauserv
    • 光碟片 %systemroot%
    • Ren SoftwareDistribution SoftwareDistribution.old
    • Net start wuauserv
  3. 請試著再次安裝更新。
重要 當您使用這個方法時,就會發生下列問題:
  • 確認目前下載,但會有尚未安裝的更新已經可以利用 Windows Update 或 Microsoft 更新再次下載。
  • 當您刪除軟體發佈資料夾時,則會移除您的下載記錄。
  • 如果您目前收到更新,從 Microsoft 的更新,並從 Windows Update,則您必須重新選取此選項,從 Windows Update 網站。
附註 如果問題已解決並成功地下載並安裝更新,您可以放心刪除 [SoftwareDistribution.old] 資料夾,以復原磁碟空間。

方法 9: 清除 [位元的佇列任何目前的工作

清除任何位元佇列用完目前的工作。執行這項操作,請依照下列步驟執行:
  1. 開啟 [系統管理的 [命令提示字元] 視窗。
  2. 在命令提示字元中,輸入下列命令,並在每一行之後按下 Enter:
    • Net 的停止位元
    • Net stop wuauserv
    • Ipconfig /flushdns
    • cd 的作業資料庫及站台的 data\microsoft\network\downloader
    • Del qmgr0.dat
    • Del qmgr1.dat
    • Net start 位元
    • Net start wuauserv


    附註
    當您完成這些步驟之後,位元表示清除佇列。
  3. 請試著再次安裝更新。

方法 10: 下載並手動安裝更新 958056

下載並手動安裝 KB 958056 更新。執行這項操作,請依照下列步驟執行:
  1. 判斷失敗的更新程式的 Microsoft 知識庫 」 文件編號。若要這樣做,請執行下列其中之一: 檢視程式碼錯誤訊息。
    • 檢視程式碼錯誤訊息。
    • 在 「 Windows Update 網站或 Microsoft 更新網站上,請檢視更新記錄。執行這項操作,請依照下列步驟執行:
      1. 請造訪下列 Microsoft 更新 」 網站:
        http://update.microsoft.com (http://update.microsoft.com/)
      2. 在 [選項],按一下 檢視更新記錄.
      3. 在 [更新] 欄位中,判斷失敗的更新程式的 Microsoft 知識庫 」 文件編號。
  2. 請造訪下列 Windows 下載網站:
    http://www.microsoft.com/windows/downloads/default.aspx (http://www.microsoft.com/windows/downloads/default.aspx)
  3. 在下載的 Web 網頁上的 [搜尋] 方塊中鍵入文件編號,您在步驟 1 中,找到並按一下 [到]。
    附註 當您輸入的文件編號,請不要包含"kb"。例如,輸入"kb123456"做為 123456.
  4. 瀏覽由清單中找不到知識庫文件中包含可供下載的連結傳回的內容。
    附註 您可能會提示您驗證 Windows。如果您接到提示,請依照指示來驗證視窗,並繼續下載更新程式。
  5. 按一下 下載然後按一下 儲存檔案 當您接到儲存下載。將下載儲存在您的桌面。
  6. 下載完成後,請按一下 開啟 若要安裝此更新程式。
    附註 如果此更新已不適用於您的 Windows 版本的 「 更新 」 安裝可能會失敗。

方法 11: 重新命名的 Pending.xml

重新命名 Pending.xml 檔案。執行這項操作,請依照下列步驟執行:
  1. 開啟 [系統管理的 [命令提示字元] 視窗。
  2. 在命令提示字元中,輸入下列命令:
    takeown C:\Windows\winsxs\pending.xml /f
  3. 使用下列命令,重新命名的 c:\windows\winsxs\pending.xml 路徑:
Ren c:\windows\winsxs\pending.xml 列於 pending.old

在 Windows 磁碟分割上的方法 12: 執行 Chkdsk

執行磁碟檢查 Windows 磁碟分割上。執行這項操作,請依照下列步驟執行:
  1. 開啟 [系統管理的 [命令提示字元] 視窗。
  2. 在命令提示字元中,輸入下列命令:
    Chkdsk 磁碟區: /f /r

這篇文章中的資訊適用於:
  • Windows Vista 商用入門版
  • Windows Vista 商用進階版
  • Windows Vista 家用入門版
  • Windows Vista 家用進階版
  • Windows Vista Starter
  • Windows Vista 旗艦版
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Starter
  • Windows 7 Ultimate
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Foundation
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Foundation
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 Standard
關鍵字:?
kbmt KB2509997 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2509997? (http://support.microsoft.com/kb/2509997/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。