ผู้ใช้ Windows หลายคนติดต่อเรามาพร้อมคำถามหลังจากพบรหัสข้อผิดพลาด 0x8007045B เมื่อพยายามติดตั้งอัปเดตบางอย่าง หรือหลังจากการอัปเกรดเป็น Windows 10 จาก Windows เวอร์ชันเก่าล้มเหลว ผู้ใช้ที่ได้รับผลกระทบส่วนใหญ่ที่พบปัญหานี้กับอัปเดตรายงานว่าอัปเดตหลายรายการล้มเหลวด้วยรหัสข้อผิดพลาดเดียวกัน ซซ выясняетсяว่าปัญหานี้ไม่ได้เฉพาะเจาะจง Windows เวอร์ชันใดเวอร์ชันหนึ่ง เนื่องจากยืนยันแล้วว่าเกิดขึ้นบน Windows 7, Windows 8.1 และ Windows 10
สาเหตุของรหัสข้อผิดพลาด 0x8007045B บน Windows
เราได้สืบสวนปัญหานี้โดยดูจากรายงานผู้ใช้ต่างๆ และกลยุทธ์การซ่อมแซมที่ใช้กันทั่วไปสำหรับการรักษาปัญหานี้ พบว่ามีสถานการณ์ที่แตกต่างกันหลายอย่างที่จะกระตุ้นข้อความข้อผิดพลาดนี้ นี่คือรายการสั้นๆ ของสาเหตุที่เป็นไปได้:
- การเสียหายของไฟล์ระบบ (System File Corruption) – หนึ่งในสาเหตุที่พบบ่อยที่สุดคือการเสียหายของไฟล์ระบบ สาเหตุนี้อาจมีหลายอย่าง แต่น่าจะเป็นการแทรกแซงของผู้ใช้ด้วยตนเอง หรือหลังจากที่ชุด AV ได้กักกันไอเท็มบางอย่าง หากเป็นกรณีนี้ คุณจะสามารถแก้ไขได้ إما โดยการซ่อมแซมอินสแตนซ์ที่เสียหายผ่าน DISM และ SFC หรือโดยการดำเนินการ repair install
- WU glitch – ภายใต้สถานการณ์บางอย่าง ปัญหานี้อาจเกิดจากข้อผิดพลาดที่หยุดความสามารถของ WU ในการดาวน์โหลดและติดตั้งอัปเดต ในกรณีนี้ วิธีแก้ไขที่เป็นไปได้มากที่สุดคือการใช้ Windows Update troubleshooter เพื่อแก้ไขโดยอัตโนมัติ หรือการรีเซ็ตองค์ประกอบ WU ทั้งหมดด้วยตนเองผ่านหน้าต่าง CMD ที่มีสิทธิ์ผู้ดูระบบ
- การรบกวนของบุคคลที่สาม (3rd party interference) – ซึ่งเป็นที่รู้จัก มีชุด AV บุคคลที่สามบางชุดที่มีการป้องกันเกิน medida ที่มีศักยภาพจะบล็อกการสื่อสารระหว่างคอมพิวเตอร์ของคุณและเซิร์ฟเวอร์อัปเดต หากเป็นกรณีนี้ วิธีแก้ไขที่เป็นไปได้คือการปิดการป้องกันแบบเรียลไทม์ หรือถอนการติดตั้งชุดความปลอดภัยบุคคลที่สามออกอย่างสมบูรณ์
หากคุณกำลังมองหาวิธีแก้ไขรหัสข้อผิดพลาด 0x8007045B บทความนี้จะให้กลยุทธ์การแก้ไขปัญหาหลายแบบ ด้านล่างคุณจะพบชุดวิธีการที่ผู้ใช้คนอื่นในสถานการณ์เดียวกันใช้สำเร็จเพื่อแก้ไขปัญหา
เพื่อให้มีประสิทธิภาพสูงสุด เราแนะนำให้ปฏิบัติตามวิธีการด้านล่างในลำดับเดียวกับที่เราจัดไว้ (ตามประสิทธิภาพและความรุนแรง) สุดท้ายคุณควรพบวิธีแก้ไขที่จะแก้ปัญหาได้ ไม่ว่าสาเหตุจะเป็นอะไร
วิธีที่ 1: รัน Windows Update Troubleshooter
ก่อนที่คุณจะสำรวจกลยุทธ์การซ่อมแซมอื่นๆ ให้แน่ใจว่า OS ของคุณไม่ได้มีเครื่องมือแก้ไขปัญหาโดยอัตโนมัติ บน Windows 10 ผู้ใช้ที่ได้รับผลกระทบจำนวนมากรายงานว่าพวกเขาสามารถแก้ไขปัญหาได้โดยเพียงการรัน Windows Update troubleshooter
แม้ Troubleshooter ตัวนี้จะมีประวัติว่าไม่ค่อยมีประสิทธิภาพ แต่ดูเหมือนว่ามันมีประสิทธิภาพในกรณีนี้ เครื่องมือในตัวนี้มีชุดกลยุทธ์การซ่อมแซมหลากหลายที่จะถูกบังคับใช้โดยอัตโนมัติหากพบปัญหาที่คุ้นเคย
นี่คือคำแนะนำด่วนสำหรับการรัน Windows Update troubleshooter:
- กด Windows key + R เพื่อเปิดกล่องโต้ตอบ Run ต่อไป พิมพ์ "ms-settings:troubleshoot" และกด Enter เพื่อเปิดแท็บ Troubleshooting ของแอป Settings

- เมื่อคุณเข้าสู่แท็บ Troubleshooting แล้ว ให้เลื่อนเมาส์ไปที่ส่วนขวาของหน้าจอและไปที่ส่วน Get up and running เมื่อเห็นหมวดหมู่นั้น ให้คลิก Windows Update แล้วคลิก Run the troubleshooter

- เมื่อเริ่มยูทิลิตี้แล้ว ให้รออย่างอดทนจนการสแกนเสร็จสิ้น ส่วนนี้จะกำหนดสุดท้ายว่ากลยุทธ์การซ่อมแซมใดที่รวมอยู่ในยูทิลิติตี้นี้ใช้กับสถานการณ์ปัจจุบันของคุณได้

- หากมีการแนะนำวิธีแก้ไขที่เป็นไปได้ คุณจะเห็นหน้าต่างที่คุณสามารถคลิก Apply this fix เพื่อบังคับใช้กลยุทธ์การซ่อมแซม ขึ้นอยู่กับประเภทของการแก้ไขที่ใช้ได้ คุณอาจต้องทำตามขั้นตอนเพิ่มเติมเพื่อบังคับใช้กลยุทธ์การซ่อมแซม

- หลังจากนำการแก้ไขไปใช้แล้ว ให้รีสตาร์ทคอมพิวเตอร์และทำซ้ำการกระทำที่เคยก่อให้เกิดข้อผิดพลาดเมื่อลำดับการเริ่มต้นครั้งต่อไปเสร็จสมบูรณ์
หากรหัสข้อผิดพลาด 0x8007045B เดียวกันยังคงเกิดขึ้น ให้ไปที่วิธีถัดไปด้านล่าง
วิธีที่ 2: ดำเนินการสแกน DISM หรือ SFC
ซึ่งเป็นที่รู้จัก หนึ่งในสาเหตุที่พบบ่อยที่สุดที่จะสร้างรหัสข้อผิดพลาดนี้คือการเสียหายของไฟล์ระบบ ผู้ใช้ที่ได้รับผลกระทบจำนวนมากรายงานว่าพวกเขาสามารถแก้ไขปัญหาได้อย่างสมบูรณ์หลังจากที่ใช้เครื่องมือสองตัวที่สามารถแก้ไขอินสแตนซ์ของไฟล์ระบบที่เสียหายได้
เมื่อพูดถึงหน้าที่นี้ Windows เวอร์ชันล่าสุดทั้งหมดมีเครื่องมือในตัวที่มีประสิทธิภาพสองตัว: SFC และ DISM
SFC (System File Checker) เป็นเครื่องมือในตัวที่สแกนและแก้ไขการเสียหายของไฟล์ระบบและข้อผิดพลาดทางตรรกะโดยใช้คลังข้อมูลที่จัดเก็บในเครื่องเพื่อแทนที่ไฟล์ที่เสียหายด้วยสำเนาที่สมบูรณ์ เครื่องมือนี้ทำงานได้ดีที่สุดเมื่อต้องกู้คืนไฟล์ Windows Resource Protection (WRP) หรือเมื่อปัญหาเกิดจากข้อผิดพลาดทางตรรกะ
ในทางกลับกัน การสแกน DISM (Deployment Image Servicing and Management) จะเน้นการแก้ไขปัญหาที่เกี่ยวข้องกับ Windows Update และองค์ประกอบที่เกี่ยวข้องอีกสองสามอย่าง แต่แทนที่จะใช้ข้อมูลในเครื่อง DISM ใช้ WU (Windows Update) เพื่อดาวน์โหลดสำเนาที่สมบูรณ์มาแทนที่ไฟล์ที่เสียหาย
ตามที่คุณเห็น เครื่องมือทั้งสองเน้นพื้นที่ที่แตกต่างกัน ดังนั้นวิธีที่ดีที่สุดในการแก้ไขการเสียหายบนคอมพิวเตอร์ของคุณคือการปรับใช้ทั้งสอง นี่คือคำแนะนำด่วนสำหรับการรัน SFC และ DISM scan จากหน้าต่าง CMD ที่มีสิทธิ์ผู้ดูระบบเพื่อแก้ไขรหัสข้อผิดพลาด 0x8007045B:
- กด Windows key + R เพื่อเปิดกล่องโต้ตอบ Run หลังจากนั้น พิมพ์ "cmd" ภายในกล่องข้อความและกด Ctrl + Shift + Enter เพื่อเปิด Command Prompt ที่มีสิทธิ์ผู้ดูระบบ เมื่อคุณเห็นพรอมพ์ UAC (User Account Control) คลิก Yes เพื่อให้สิทธิ์ผู้ดูระบบ

- เมื่อคุณเข้าสู่ Command Prompt ที่มีสิทธิ์ผู้ดูระบบแล้ว ให้พิมพ์คำสั่งต่อไปนี้ตามลำดับและกด Enter หลังแต่ละคำสั่งเพื่อสแกนและซ่อมแซมข้อผิดพลาดไฟล์ระบบด้วย DISM:
Dism.exe /online /cleanup-image /scanhealth Dism.exe /online /cleanup-image /restorehealth
หมายเหตุ: คำสั่งแรก nhằmให้ยูทิลิตี้สแกนระบบของคุณหาความไม่สอดคล้องใดๆ ส่วนคำสั่งที่สองจะเริ่มกระบวนการซ่อมแซม หากไม่พบข้อผิดพลาดจากคำสั่ง scan health ไม่มีประโยชน์จากการรันคำสั่งที่สอง ในกรณีนี้ ให้ข้ามไปขั้นตอนที่ 3 ทันที นอกจากนี้ ก่อนรันคำสั่งที่สอง ให้แน่ใจว่าคุณมีการเชื่อมต่ออินเทอร์เน็ตที่เสถียร เนื่องจาก DISM ต้องการมันเพื่อดาวน์โหลดสำเนาที่สมบูรณ์
- หลังจากสแกนเสร็จสิ้น ให้รีสตาร์ทคอมพิวเตอร์และดูว่าปัญหาได้รับการแก้ไขที่การเริ่มต้นระบบครั้งต่อไปหรือไม่ โดยการทำซ้ำการกระทำที่เคยก่อให้เกิดข้อผิดพลาด 0x8007045B
หากปัญหาเดิมยังคงเกิดขึ้น ให้ไปที่วิธีถัดไปด้านล่าง
วิธีที่ 3: ปิด/ถอนการติดตั้ง Antivirus บุคคลที่สาม (หากเกี่ยวข้อง)
สาเหตุที่เป็นไปได้อีกอย่างที่จะกระตุ้นข้อผิดพลาด 0x8007045B คือชุด AV ที่มีการป้องกันเกินไป หากคุณพบปัญหานี้ขณะพยายามติดตั้งอัปเดต Windows ที่ค้างอยู่ และคุณใช้ชุดความปลอดภัยบุคคลที่สาม โอกาสคือ AV กำลังบล็อกการสื่อสารบางอย่างกับเซิร์ฟเวอร์อัปเดต
McAfee, AVAST และ Comodo ทั้งหมดรู้จักกันดีในฐานะสาเหตุของปัญหานี้ ผู้ใช้หลายคนที่ได้รับผลกระทบจากปัญหานี้สามารถแก้ไขได้โดยการปิดการป้องกันแบบเรียลไทม์ หรือถอนการติดตั้งชุดความปลอดภัยออกทั้งหมด
ในตอนแรก คุณควรเริ่มด้วยการปิดการป้องกันแบบเรียลไทม์และดูว่าปัญหาได้รับการแก้ไขโดยอัตโนมัติหรือไม่ แต่โปรดทราบว่าการดำเนินการนี้จะแตกต่างกันไปขึ้นอยู่กับชุดความปลอดภัยที่คุณใช้ อย่างไรก็ตาม ในกรณีส่วนใหญ่ คุณจะสามารถทำได้โดยตรงจากเมนู tray-bar
หากคุณยังคงพบข้อผิดพลาด 0x8007045B แม้หลังจากปิดการป้องกันแบบเรียลไทม์แล้ว คุณอาจต้องใช้วิธีแก้ไขที่รุนแรงขึ้น ชุดความปลอดภัยบางชุด (โดยเฉพาะที่มีไฟร์วอลล์ในตัว) ถูกเขียนโปรแกรมให้รักษากฎความปลอดภัยไว้แม้เมื่อการป้องกันแบบเรียลไทม์ถูกปิด
เพื่อหลีกเลี่ยงสิ่งนี้ คุณจะต้องถอนการติดตั้งโปรแกรมออกอย่างสมบูรณ์และให้แน่ใจว่าไม่ได้ทิ้งไฟล์ซากไว้ หากคุณตัดสินใจทำเช่นนี้ ให้ทำตามบทความนี้ (ที่นี่) เพื่อถอนการติดตั้งชุด AV บุคคลที่สามของคุณอย่างสมบูรณ์และลบไฟล์ซากที่เหลือ
หากวิธีแก้ไขนี้ไม่ใช้ได้ หรือคุณยังคงเห็นข้อผิดพลาด 0x8007045B แม้หลังจากกำจัด AV บุคคลที่สามแล้ว ให้ไปที่วิธีถัดไปด้านล่าง
วิธีที่ 4: รีเซ็ตบริการ Windows ทั้งหมด
หากไม่มีวิธีด้านบนช่วยให้คุณหลีกเลี่ยงข้อผิดพลาด 0x8007045B โอกาสคือคุณกำลังเผชิญกับความไม่สอดคล้องของ WU ที่หยุดความสามารถของเครื่องในการอัปเดต อีกหลักฐานหนึ่งที่สนับสนุนสถานการณ์นี้คือ หากอัปเดตมากกว่าหนึ่งรายการล้มเหลวด้วยรหัสข้อผิดพลาดนี้
หากสถานการณ์นี้ใช้กับสถานการณ์ของคุณ คุณจะสามารถแก้ไขปัญหาได้โดยการรีเซ็ตองค์ประกอบและสิ่งที่พึ่งพา Windows ทั้งหมดที่เกี่ยวข้องกับกระบวนการนี้ เราสามารถระบุรายงานผู้ใช้บางรายงานที่ยืนยันว่าวิธีนี้ประสบความสำเร็จในการแก้ไขข้อผิดพลาด 0x8007045B ในกรณีของพวกเขา
นี่คือคำแนะนำด่วนสำหรับการแก้ไขปัญหาโดยการรีเซ็ตองค์ประกอบ Windows update ทั้งหมดด้วยตนเองจาก Command Prompt ที่มีสิทธิ์ผู้ดูระบบ:
- กด Windows key + R เพื่อเปิดกล่องโต้ตอบ Run ต่อไป พิมพ์ "cmd" ภายในกล่องข้อความและกด Ctrl + Shift + Enter เพื่อเปิด Command Prompt ที่มีสิทธิ์ผู้ดูระบบ เมื่อ UAC (User Account Control) แจ้งเตือน คลิก Yes เพื่อให้สิทธิ์ผู้ดูระบบ

- ภายใน Command Prompt ที่มีสิทธิ์ผู้ดูระบบ ให้พิมพ์คำสั่งต่อไปนี้และกด Enter:
net stop wuauserv net stop cryptSvc net stop bits net stop msiserver
หมายเหตุ: หลังจากรันคำสั่งเหล่านี้ คุณจะหยุดบริการ Windows Update, MSI Installer, Cryptographic service และ BITS services อย่างมีประสิทธิภาพ
- หลังจากที่บริการทั้งหมดถูกปิดใช้งานแล้ว ให้รันคำสั่งต่อไปนี้ในหน้าต่าง CMD เดียวกันและกด Enter หลังแต่ละคำสั่งเพื่อเปลี่ยนชื่อโฟลเดอร์ SoftwareDistribution และ Catroot2:
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 Catroot2.old
หมายเหตุ: โฟลเดอร์ทั้งสองนี้ถูกใช้งานโดย WU เพื่อจัดเก็บไฟล์อัปเดตที่กำลังใช้อยู่ การเปลี่ยนชื่อจะบังคับให้ OS สร้างโฟลเดอร์ใหม่ที่ไม่ได้ปนเปื้อนด้วยการเสียหาย
- หลังจากเปลี่ยนชื่อโฟลเดอร์ทั้งสองข้างต้นแล้ว ให้พิมพ์คำสั่งสุดท้ายด้านล่างและกด Enter หลังแต่ละคำสั่งเพื่อเริ่มบริการที่คุณปิดไปก่อนหน้านี้ใหม่:
net start wuauserv net start cryptSvc net start bits net start msiserver
- ทำซ้ำการกระทำที่เคยกระตุ้นข้อผิดพลาด 0x8007045B และดูว่าปัญหาได้รับการแก้ไขแล้วหรือไม่
หากคุณยังคงพบปัญหาเดิม ให้ไปที่วิธีสุดท้ายด้านล่าง
วิธีที่ 5: ดำเนินการ Repair Install
หากไม่มีวิธีด้านบนช่วยให้คุณแก้ไขข้อผิดพลาด 0x8007045B โอกาสคือคุณกำลังเผชิญกับปัญหาการเสียหายของไฟล์ระบบที่อยู่เบื้องต้นซึ่งไม่สามารถแก้ไขได้ด้วยวิธีเดิม ในกรณีนี้ วิธีแก้ไขที่มีโอกาสสำเร็จสูงสุดคือการรีเซ็ตองค์ประกอบ Windows ทุกอย่าง
วิธีที่ง่ายที่สุดคือการทำ clean install แต่โปรดทราบว่าการทำเช่นนี้หมายความว่าคุณจะสูญเสียข้อมูลส่วนตัวด้วย (แอป เกม การตั้งค่าผู้ใช้ สื่อส่วนตัว ฯลฯ)
แต่มีวิธีที่ดีกว่า – Repair install จะช่วยให้คุณรีเซ็ตองค์ประกอบ Windows ทั้งหมดโดยไม่สูญเสียข้อมูลทั้งหมด แต่ข้อบกพร่องคือกระบวนการซับซ้อนกว่า clean install
หากคุณตัดสินใจทำ repair install (in-place repair) ให้ทำตามบทความนี้ (ที่นี่) สำหรับคำแนะนำทีละขั้นตอน