擺脫 Windows 10 上的更新錯誤 0x800f0845

已發表: 2020-06-08

如果您因為不斷看到錯誤代碼 0x800f0845 而無法通過 Windows 更新實用程序為您的系統安裝最新更新,本文中的解決方案將幫助您擺脫該錯誤。

運行 Windows 更新疑難解答

Windows 更新疑難解答是一種專用工具,用於檢查影響 Windows 更新實用程序的故障。 它將檢查與 Windows 更新相關的服務,並嘗試解決可能阻止該工具正常運行的任何應用程序衝突。 運行疑難解答程序後,它將告訴您發生了哪些錯誤,並允許您應用必要的修復(如果可用)。 要找到 Windows 更新疑難解答,您必須通過 Windows 設置應用程序。

請按照以下步驟執行此操作:

  1. 單擊“開始”按鈕,然後在“開始”菜單出現後選擇齒輪圖標。 您還可以使用 Windows + I 鍵盤組合打開“設置”應用程序。
  2. 設置主頁打開後,單擊位於窗口底部的更新和安全圖標。
  3. 出現更新和安全界面後,轉到窗口的左窗格並單擊疑難解答。
  4. 現在,導航到右窗格並單擊 Windows 更新。
  5. 在 Windows 更新下看到運行疑難解答按鈕後,單擊它。
  6. 疑難解答現在將開始掃描困擾 Windows 更新實用程序的問題。
  7. 掃描完成後,疑難解答程序將要求您應用推薦的修復程序(如果有)。
  8. 單擊“應用”按鈕,然後允許該工具完成該過程。
  9. 該過程完成後,請嘗試更新您的 PC。

使用系統文件檢查器工具檢測有問題的系統文件並自動替換它們

某些系統文件可能已損壞或丟失,並且在您想要更新系統時觸發錯誤。 眾所周知,沒有系統文件的參與,您的計算機上不會運行任何進程。 要解決此問題,在這種情況下,您必須運行系統文件檢查器工具來查找丟失或損壞的系統文件並自動替換它們。

由於您使用的是 Windows 10,因此您必須在運行系統文件檢查器之前運行收件箱部署映像服務和管理工具。 DISM 的工作是提供將用於替換有問題的文件的文件。

以下步驟將向您展示如何運行 DISM 和 SFC:

  1. 右鍵單擊“開始”按鈕,然後單擊“快速訪問”菜單中的“運行”。 如果要更快地啟動對話框,請同時按 Windows 和 R 鍵。
  2. 在屏幕左下角打開運行後,鍵入“CMD”(不帶引號),然後同時按 Ctrl、Shift 和 Enter 鍵。
  3. 一旦彈出用戶帳戶控制對話框窗口並請求以管理員身份運行命令提示符的權限,請單擊是按鈕。
  4. 在管理員模式下打開命令提示符窗口後,在黑屏中鍵入以下行並按 Enter 鍵運行 DISM 工具:

DISM.exe /Online /Cleanup-image /Restorehealth

該命令將提示 DISM 工具使用 Windows 更新實用程序獲取修復文件。 但是,由於 Windows Update 客戶端運行不正常,您必須使用不同的修復源。 您可以使用可啟動的 USB 或 Windows 10 DVD。 您還可以將 Windows 10 ISO 文件掛載為虛擬 DVD,並將其用作修復源。 確保記下您正在使用的修復源的 Windows 文件夾的路徑。

現在,改用以下行:

DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:X:\Source\Windows /LimitAccess

請注意,X:\Source\Windows 表示您正在使用的修復源中的 Windows 文件夾的路徑。 在輸入命令之前相應地替換它。

等待命令完全執行,然後再繼續下一步。

  1. 現在,在命令提示符中輸入“sfc/scannow”(不帶引號),然後按 Enter 鍵。
  2. 命令完成後,如果您看到完成消息“Windows 資源保護找到損壞的文件並成功修復它們”,請重新啟動系統。
  3. 如果您看到一條消息“Windows 資源保護無法執行請求的操作”,那麼您必須以安全模式重新啟動系統並運行該命令。 如果您不知道如何進入安全模式,請按照以下步驟操作:
  • 單擊“開始”按鈕,然後在“開始”菜單出現後選擇齒輪圖標。 您還可以使用 Windows + I 鍵盤組合打開“設置”應用程序。
  • 設置應用程序打開後,單擊更新和安全圖標。
  • 出現更新和安全界面後,轉到左側窗格並單擊恢復。
  • 單擊右窗格中高級啟動下的立即重新啟動。
  • 看到“選擇一個選項”屏幕後,單擊“疑難解答”圖標。
  • 單擊疑難解答屏幕上的高級選項。
  • 現在,一旦出現“高級選項”屏幕,請單擊“啟動設置”。
  • 當您看到啟動設置屏幕時,單擊立即重新啟動按鈕。
  • PC 重新啟動後,點擊安全模式或帶網絡的安全模式旁邊的數字。
  • 一旦你的電腦啟動,運行系統文件檢查器,就像我們在上面展示的那樣。

請注意,您的硬盤驅動器的健康狀況會影響您的系統文件。 如果驅動器碎片嚴重,您的計算機可能開始難以訪問某些文件。 在某些情況下,您可能必須處理硬盤上的壞扇區。 為確保您不會遇到此問題,請使用可以使您的硬盤驅動器進行碎片整理並保持良好狀態的工具。 Auslogics 磁盤碎片整理將完成所有這些以及更多工作。

重新啟動 Windows 更新服務

Windows Update 實用程序有不同的服務,它們可以使其正常運行。 這些服務可能當前不可用或不活動。 此特定修復涉及重新啟動它們以確保它們按應有的方式運行。 您可以使用服務應用程序或命令提示符重新啟動服務。 我們將引導您完成每一個過程。

通過服務應用程序:

  1. 右鍵單擊“開始”按鈕,然後從“快速訪問”菜單中選擇“運行”。 您還可以同時按下 Windows 和 R 鍵以打開“運行”對話框。
  2. 運行出現後,在文本字段中輸入“Services.msc”(不帶引號),然後按 Enter 鍵。
  3. 服務應用程序打開後,找到以下服務:
  • 後台智能傳輸服務
  • 加密服務
  • Windows 更新服務
  • 應用程序身份服務
  1. 右鍵單擊每個服務,單擊屬性,然後單擊停止按鈕。 之後,在啟動類型下拉菜單中選擇自動,然後單擊確定。
  2. 現在,嘗試運行更新。

使用命令提示符:

  1. 通過右鍵單擊“開始”按鈕並從“快速訪問”菜單中選擇“運行”來調用“運行”對話框。 您還可以使用 Windows + R 鍵盤組合來啟動“運行”對話框。
  2. 運行打開後,鍵入“CMD”(無引號),然後同時按下 Ctrl、Shift 和 Enter 鍵。
  3. 一旦用戶帳戶控制對話框窗口打開並請求權限,請單擊是按鈕。
  4. 在管理員模式下打開命令提示符窗口後,在黑屏中鍵入以下行,並在鍵入後按 Enter 鍵:

淨停止位

淨停止 wuauserv

淨停止 appidsvc

淨停止 cryptsvc

  1. 接下來,鍵入以下行並在鍵入每行後按 Enter:

網絡起始位

淨啟動 wuauserv

網絡啟動 appidsvc

網絡啟動 cryptsvc

  1. 命令執行後,關閉命令提示符並運行 Windows 更新以檢查錯誤。

掃描整個系統以查找惡意軟件

事實證明,您可能正遭受惡意軟件感染。 惡意軟件程序會破壞大量系統文件。 惡意軟件程序可能損壞了連接到 Windows 更新進程的文件夾和文件。 嘗試掃描您的計算機並檢查是否已解決問題。

運行完整掃描而不是讓防病毒程序運行常規快速掃描非常重要。 全面掃描將掃描您系統的不同角落,並確保不遺餘力。 您可以輕鬆進入防病毒程序的掃描菜單以啟動全面掃描。 如果您依靠 Windows 安全中心來保護系統,請按照以下步驟運行完整掃描:

  1. 打開“開始”菜單,然後單擊電源圖標上方的齒輪。 您還可以使用 Windows + I 鍵盤組合來啟動設置應用程序。
  2. 看到 Windows 設置應用程序的主屏幕後,單擊更新和安全標籤,該標籤應位於頁面底部。
  3. 出現“更新和安全”界面後,轉到左側窗格並單擊“Windows 安全”。
  4. 轉到 Windows 安全選項卡,然後單擊保護區域下的病毒和威脅保護。
  5. Windows 安全應用程序的病毒和威脅防護頁面打開後,單擊掃描選項。
  6. 在“掃描選項”界面上,選擇“全面掃描”單選按鈕,然後單擊“立即掃描”按鈕。
  7. 完整掃描應在一小時或更長時間內完成,因此請給程序時間來完成其工作。
  8. 掃描完成後,採取該工具推薦的操作,然後重新啟動系統並檢查錯誤 0x800f0845 是否消失。

您可以通過安裝 Auslogics Anti-Malware 為您的計算機添加額外的安全層。 該工具是一個完整的惡意軟件清除程序,可與其他防病毒程序(包括 Windows 安全性)一起使用。 它不會引起任何類型的衝突。

釋放/更新您的 IP 地址並刷新您的 DNS 緩存

DNS 緩存包含以數字形式將字母數字、人類友好的域名映射到其 IP 地址的信息。 隨著時間的推移,緩存可能會累積錯誤的參數或損壞。 一旦發生這種情況,將開始出現連接問題,這可能是您在更新系統時遇到錯誤代碼的原因。 解決該問題需要清除 DNS 緩存中的所有參數,以便 Windows 可以開始重建它。

刷新 DNS 後,我們建議的下一步是釋放和更新您的 IP 地址。 您的路由器或互聯網設備通常會為您的系統分配一個特定的 IP 地址。 如果此 IP 地址不可用或出現問題,您的系統將無法連接到 Internet,這可能會導致在您想要安裝更新時出現錯誤代碼。 發生這種情況時,您需要從路由器獲取新的 IP 地址。 為此,您必須運行一個釋放 IP 地址並更新它的命令。

以下步驟將向您展示如何刷新 DNS 緩存並釋放/更新您的 IP 地址:

  1. 使用 Windows + S 組合鍵或單擊任務欄中的放大鏡,打開“開始”菜單旁邊的搜索文本框。
  2. 搜索欄打開後,在文本字段中輸入“cmd”(不帶引號)。
  3. 命令提示符出現在結果中後,右鍵單擊它,然後單擊以管理員身份運行。
  4. 單擊“用戶帳戶控制”確認提示中的“是”以授予命令提示符管理權限。
  5. 接下來,在命令提示符中鍵入以下命令行,並在鍵入每一行後按 Enter 鍵:

ipconfig /flushdns

ipconfig /發布

ipconfig /更新

請注意命令中的空格。

  • 現在,嘗試執行更新。

重置 Winsock 組件

Winsock 組件處理來自計算機上基於 Web 的應用程序的每個輸入和輸出請求。 它是一個 DLL 文件,可以在 System 32 文件夾中找到。 它將信息和配置從不同的程序傳輸到您的網絡接口,即 TCP/IP。

由於 Winsock 組件包含錯誤的配置或已損壞,Windows 更新進程可能會停止並出現錯誤。 您可以通過重置它來解決問題。 請注意,您必須打開命令提示符窗口並輸入適當的命令。 以下步驟將向您展示如何操作:

  1. 啟動運行對話框。 您可以通過右鍵單擊“開始”按鈕並選擇“運行”、在“開始”菜單中搜索“運行”或使用 Windows + R 鍵盤組合來執行此操作。
  2. 在屏幕左下角顯示“運行”後,鍵入“CMD”(不帶引號),然後同時按下 Ctrl、Shift 和 Enter 鍵。
  3. 現在將彈出用戶帳戶控制對話框窗口並請求以管理員身份運行命令提示符的權限。 一旦發生這種情況,請單擊是按鈕。
  4. 命令提示符以管理員模式打開後,在黑屏中鍵入以下行:

netsh winsock 重置

  1. Windows 現在將通過替換 DLL 文件來重置 Winsock 組件。
  2. 命令成功執行後,重新啟動計算機並嘗試更新它。

重置 Windows 更新組件

除了 Windows 服務之外,還有其他組件可以使 Windows Update 實用程序正常工作。 其中包括系統文件和文件夾以及註冊表項。 下面的指南將向您展示重置這些組件的分步過程。 重置它們後,Windows 更新實用程序應該可以正常工作:

行動 1

通過右鍵單擊“開始”按鈕並從“快速訪問”菜單中選擇“運行”來調用“運行”對話框。 您還可以使用 Windows + R 鍵盤組合來啟動“運行”對話框。

行動 2

運行打開後,鍵入“CMD”(無引號),然後同時按下 Ctrl、Shift 和 Enter 鍵。

行動 3

一旦用戶帳戶控制對話框窗口打開並請求權限,請單擊是按鈕。

行動 4

在管理員模式下打開命令提示符窗口後,在黑屏中鍵入以下行,並在鍵入後按 Enter 鍵:

淨停止位

淨停止 wuauserv

淨停止 appidsvc

淨停止 cryptsvc

行動 5。

現在您已經停止了 Windows 更新服務,請轉到命令提示符中的下一行並輸入以下命令以刪除 qmgr*.dat 文件:

德爾“%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat”

按 Enter 鍵。

行動 6。

接下來,使用下面的命令行重命名 SoftwareDistribution 和 Catroot2 文件夾。 請記住在鍵入每一行後點擊 Enter 鍵:

任 %systemroot%\SoftwareDistribution SoftwareDistribution.bak

任 %systemroot%\system32\catroot2 catroot2.bak

行動 7。

之後,將 Windows 更新和後台智能傳輸服務重置為其默認安全描述符。 為此,請鍵入或複制並粘貼以下命令,並在輸入每個命令後按 Enter 鍵:

sc.exe sdset 位 D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)

行動 8。

在命令提示符中鍵入以下內容,然後按 Enter 進入 System32 文件夾:

cd /d %windir%\system32

行動 9。

註冊所有後台智能傳輸服務組件。 為此,請在命令提示符中鍵入以下行,並在鍵入每一行後按 Enter 鍵。 有很多行,所以花點時間把它做好:

regsvr32.exe atl.dll

regsvr32.exe urlmon.dll

regsvr32.exe mshtml.dll

regsvr32.exe shdocvw.dll

regsvr32.exe browseui.dll

regsvr32.exe jscript.dll

regsvr32.exe vbscript.dll

regsvr32.exe scrrun.dll

regsvr32.exe msxml.dll

regsvr32.exe msxml3.dll

regsvr32.exe msxml6.dll

regsvr32.exe actxprxy.dll

regsvr32.exe softpub.dll

regsvr32.exe wintrust.dll

regsvr32.exe dssenh.dll

regsvr32.exe rsaenh.dll

regsvr32.exe gpkcsp.dll

regsvr32.exe sccbase.dll

regsvr32.exe slbcsp.dll

regsvr32.exe cryptdlg.dll

regsvr32.exe oleaut32.dll

regsvr32.exe ole32.dll

regsvr32.exe shell32.dll

regsvr32.exe initpki.dll

regsvr32.exe wuapi.dll

regsvr32.exe wuaueng.dll

regsvr32.exe wuaueng1.dll

regsvr32.exe wucltui.dll

regsvr32.exe wups.dll

regsvr32.exe wups2.dll

regsvr32.exe wuweb.dll

regsvr32.exe qmgr.dll

regsvr32.exe qmgrprxy.dll

regsvr32.exe wucltux.dll

regsvr32.exe muweb.dll

regsvr32.exe wuwebv.dll

行動 10。

現在,您必須刪除一些不必要的註冊表項。

在此之前,請注意編輯註冊表是一項敏感任務,您必須仔細按照以下步驟操作。 為了安全起見,請在應用此修復程序之前備份您的註冊表。

現在,按照以下步驟刪除不需要的註冊表項:

  1. 使用 Windows + R 鍵盤組合啟動運行。
  2. 在屏幕左下角顯示“運行”後,鍵入“regedit”(不帶引號),然後按 Enter 鍵。
  3. 現在將彈出用戶帳戶控制對話框窗口並請求權限。 單擊是按鈕。
  4. 註冊表編輯器打開後,轉到左窗格並向下鑽取到HKEY_LOCAL_MACHINE\COMPONENTS。
  5. 在 COMPONENTS 下,檢查是否存在以下鍵並將其刪除:
  • PendingXml 標識符
  • 下一個隊列條目索引
  • AdvancedInstallersNeedResolving

行動 11。

最後,轉到管理員命令提示符並依次輸入以下行以重新啟動您之前停止的服務:

網絡起始位

淨啟動 wuauserv

網絡啟動 appidsvc

網絡啟動 cryptsvc

重新啟動您的 PC 並嘗試更新您的系統。

重置您的主機文件

如果沒有任何效果,請嘗試重置您的 Hosts 文件。 該文件包含允許在系統的網絡基礎架構中進行通信的配置。 該文件可能已損壞,或者它的某些配置現在是錯誤的。 將其重置為默認值並檢查錯誤是否消失。 以下步驟將引導您完成該過程:

    1. 使用 Windows + S 組合鍵或單擊任務欄上的放大鏡圖標打開“開始”菜單旁邊的搜索文本框。
    2. 搜索欄打開後,在文本字段中鍵入“記事本”(不帶引號),然後單擊結果中的記事本。
    3. 記事本打開後,將以下文本複制並粘貼到新文件中:

# 版權所有 (c) 1993-2006 Microsoft Corp.

#

# 這是 Microsoft TCP/IP 用於 Windows 的示例 HOSTS 文件。

#

# 此文件包含 IP 地址到主機名的映射。 每個

# 條目應保留在單獨的行上。 IP 地址應該

# 放在第一列後跟相應的主機名。

# IP地址和主機名至少要分開一

# 空間。

#

# 此外,評論(例如這些)可能會插入個人

# 行或在機器名稱後面用“#”符號表示。

#

# 例如:

#

# 102.54.94.97 rhino.acme.com # 源服務器

# 38.25.63.10 x.acme.com # x 客戶端主機

# localhost 名稱解析在 DNS 本身內處理。

# 127.0.0.1 本地主機

# ::1 本地主機

    1. 單擊文件菜單並選擇另存為。 您也可以同時按下 Ctrl、Shift 和 S 鍵。
    2. 出現“保存”對話框後,將文件作為“主機”保存在 Documents 文件夾中。
    3. 現在,通過同時按下 Windows 和 E 鍵或單擊桌面上的文件夾來調用文件資源管理器窗口。 您也可以右鍵單擊開始按鈕並選擇文件資源管理器或單擊任務欄上的文件夾圖標。
    4. 文件資源管理器窗口打開後,導航到C:\Windows\System32\drivers\etc ,在 ETC 文件夾中找到 Hosts 文件並將其重命名為“Hosts.old”(無引號)或您選擇的任何其他名稱。 如果彈出任何確認對話框,請接受。
    5. 導航到您的文檔並將您之前創建的 Hosts 文件移動到C:\Windows\System32\drivers\etc目錄中。
  • 如果系統提示您輸入管理員密碼,請提供詳細信息並單擊繼續。

結論

上述解決方案之一將幫助您擺脫錯誤。 如果沒有任何效果,您可以訪問 Microsoft 的網站手動下載並安裝更新。 如果您有想與我們分享的想法,請使用下面的評論部分!