ปัญหาเกี่ยวกับ Windows Update ถือเป็นหนึ่งในปัญหาที่น่ารำคาญที่สุดที่ผู้ใช้ต้องเผชิญอย่างสม่ำเสมอ เนื่องจากมักจะยากที่จะแก้ไข และรหัสข้อผิดพลาดการอัปเดตแต่ละรหัสอาจมีสาเหตุและวิธีแก้ไขที่แตกต่างกันไป
แม้จะมีแหล่งข้อมูลออนไลน์หลายแห่งที่ให้วิธีแก้ไข ข้อมูลเหล่านี้มักกระจายอยู่และไม่มีรูปแบบที่เป็นระบบ วิธีแก้ไขบางอย่างเป็นทั่วไปและอาจช่วยได้กับรหัสข้อผิดพลาดใดๆ แต่บางอย่างเฉพาะเจาะจงสำหรับรหัสข้อผิดพลาดบางรหัส ให้อ่านต่อเพื่อทำความเข้าใจกับรหัสข้อผิดพลาดนี้โดยเฉพาะ
แก้ไขรหัสข้อผิดพลาด Windows Update: 0x80073701
ยังไม่มีวิธีแก้ไขทางการสำหรับรหัสข้อผิดพลาด 0x80073701 แต่มีหลายวิธีที่ทำงานได้จริงซึ่งควรลองก่อนที่จะตัดสินใจติดตั้ง Windows 10 ใหม่ทั้งระบบ หรือดำเนินการขั้นตอนใหญ่ๆ อื่นๆ
ขั้นตอนบางอย่างด้านล่างอาจดูซับซ้อนสำหรับผู้ใช้ทั่วไป แต่คำแนะนำได้ถูกทำให้เข้าใจง่ายพอที่จะปฏิบัติได้โดยทุกคน รหัสข้อผิดพลาดนี้อาจเกี่ยวข้องกับไฟล์ที่ดาวน์โหลดไว้สำหรับการอัปเดตก่อนหน้านี้ที่เสียหาย ให้ดูวิธีแก้ไขที่มีผลดังนี้
วิธีแก้ไข 1: ไฟล์ระบบบางส่วนหายไปหรือเสียหาย
ปัญหานี้อาจเกิดขึ้นหากไฟล์ระบบบางส่วนที่จำเป็นสำหรับการอัปเดตหายไปจากระบบ หรือเสียหายและไม่สามารถเข้าถึงได้ โดยเฉพาะหากรหัสข้อผิดพลาดแสดงพร้อมกับข้อความ ERROR_SXS_ASSEMBLY_MISSING โปรดปฏิบัติตามขั้นตอนด้านล่างเพื่อแก้ไข
- รันเครื่องมือ DISM (Deployment Image Servicing and Management) เครื่องมือนี้มีประโยชน์หากต้องการตรวจสอบว่าระบบพร้อมสำหรับการอัปเดตถัดไปหรือไม่ สามารถใช้สแกนและตรวจสอบ Windows Image เพื่อหาข้อผิดพลาดและความไม่สอดคล้อง
หากต้องการคำแนะนำโดยละเอียดเกี่ยวกับการใช้เครื่องมือนี้ โปรดดูบทความของเรา: https://appuals.com/use-dism-repair-windows-10/ - ใช้เครื่องมือ SFC.exe (System File Checker) ซึ่งเข้าถึงผ่าน Command Prompt ในโหมด Administrator (เหมือนกับเครื่องมือ DISM) เครื่องมือนี้จะสแกนไฟล์ระบบ Windows เพื่อหาไฟล์ที่เสียหายหรือหายไป และสามารถแก้ไขหรือแทนที่ไฟล์เหล่านั้นได้ทันที ซึ่งมีประโยชน์หากต้องการไฟล์เหล่านั้นสำหรับกระบวนการอัปเดต เนื่องจาก ERROR_SXS_ASSEMBLY_MISSING จะปรากฏขึ้นหากมีปัญหากับไฟล์ระบบใดๆ
คำแนะนำโดยละเอียด: https://appuals.com/how-to-run-sfc-scan-in-windows-10/ - Windows รุ่นเก่า เช่น Windows XP, Vista และ Windows 7 ใช้เครื่องมือ CheckSUR เพื่อตรวจสอบความพร้อมของระบบสำหรับการอัปเดต อย่างไรก็ตาม โปรแกรมนี้ถูกยกเลิกและไม่พบในไซต์ Microsoft อย่างเป็นทางการแล้ว ยกเว้น Windows 7 Service Pack 1 หากคุณใช้ Windows 7 SP1 สามารถดาวน์โหลดและติดตั้งไฟล์ได้ที่นี่ นอกจากนี้ เครื่องมือนี้ไม่รองรับ Windows 8, 8.1 และ Windows 10
วิธีแก้ไข 2: เรียกใช้ Windows Update Troubleshooter
Windows มีโปรแกรมแก้ไขปัญหา (Troubleshooter) ในตัวหลายตัวที่สามารถแก้ไขปัญหาบางส่วนได้ แต่โดยทั่วไปแล้วผู้ใช้ต้องแก้ไขปัญหาเอง อย่างไรก็ตาม โปรแกรมแก้ไขปัญหาบางตัวอาจแก้ไขปัญหาทันทีหากวิธีแก้ไขง่าย โปรดปฏิบัติตามขั้นตอนด้านล่าง
- เปิดแอป Settings โดยคลิกปุ่ม Start menu ที่มุมซ้ายล่าง แล้วคลิกไอคอนเฟืองด้านบน หรือค้นหาได้เช่นกัน

- เปิดส่วน Update & Security และไปที่เมนู Troubleshoot
- คลิกที่ตัวเลือก Windows Update troubleshooter และปฏิบัติตามคำแนะนำบนหน้าจอเพื่อดูว่ามีปัญหากับบริการและกระบวนการ Windows Update หรือไม่

- หลังจาก Troubleshooter ทำงานเสร็จ ให้กลับไปที่แท็บ Troubleshoot ในแอป Settings อีกครั้ง และเปิด Internet Connections troubleshooter
- รีสตาร์ทคอมพิวเตอร์และลองอัปเดต PC อีกครั้ง
หมายเหตุ: เพื่อให้กระบวนการทำงาน顺利 ลองถอดอุปกรณ์ต่อพ่วงทั้งหมดยกเว้นเมาส์และคีย์บอร์ด อุปกรณ์บางตัวอาจทำให้ระบบช้าลงหรือค้าง ระหว่างกระบวนการอัปเดต
ควรตรวจสอบการตั้งค่าเวลาและวันที่ด้วย เนื่องจากตั้งค่าผิดอาจก่อให้เกิดปัญหามากมาย ขั้นตอนการตั้งค่าเวลาและวันที่ใหม่:
- เปิดการตั้งค่าวันที่และเวลา โดยเปิด Start menu เลือก Settings (ไอคอนเฟืองเหนือไอคอนปิดเครื่อง) เลือก Time & language แล้วไปที่แท็บ Date & time

- ในแท็บ Date and Time ตรวจสอบว่า วันที่และเวลาของคอมพิวเตอร์ถูกต้อง หากเวลาไม่ถูกต้อง ลองเปิด/ปิดตัวเลือก Set time automatically ตามสถานะเริ่มต้น
- เพื่อเปลี่ยนวันที่ ภายใต้ Date ให้คลิกเมนูแบบเลื่อนลงเพื่อหาเดือนปัจจุบันในปฏิทิน แล้วคลิกวันที่ปัจจุบัน

- เพื่อเปลี่ยนเวลา ภายใต้ Time ให้คลิกที่ชั่วโมง นาที หรือ วินาที ที่ต้องการเปลี่ยน แล้วเลื่อนค่าให้ถูกต้องตามตำแหน่งที่ตั้งของคุณ
- เมื่อเสร็จสิ้นการเปลี่ยนแปลงการตั้งค่าเวลา คลิก OK
วิธีแก้ไข 3: รีเซ็ต Windows Update Components ให้เป็นค่าเริ่มต้น
วิธีนี้ช่วยผู้ใช้จำนวนมากในการแก้ไขรหัสข้อผิดพลาด 0x80073701 จึงแนะนำให้ลองโดยเร็วที่สุด วิธีนี้อาจดูยากสำหรับผู้ที่ไม่คุ้นเคยกับการ troubleshooting แต่หากปฏิบัติตามคำแนะนำอย่างระมัดระวัง จะไม่มีปัญหา
ก่อนเริ่ม แนะนำให้ปิดโปรแกรมที่ทำงานอยู่ทั้งหมด และสำรอง Registry ไว้ก่อน phòngกรณีเกิดข้อผิดพลาดขณะแก้ไข สำรอง Registry ได้จากบทความของเรา
- หยุดบริการหลักที่เกี่ยวข้องกับ Windows Update: Background Intelligent Transfer, Windows Update, และ Cryptographic Services การปิดบริการเหล่านี้ก่อนเริ่มต้นเป็นสิ่งสำคัญ
- ค้นหา "Command Prompt" คลิกขวาเลือก Run as administrator คัดลอกและวางคำสั่งต่อไปนี้ทีละบรรทัด กด Enter หลังแต่ละคำสั่ง
net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc

- ลบไฟล์บางไฟล์ที่ควรลบเพื่อดำเนินการรีเซ็ต components ต่อไป ทำผ่าน Command Prompt ในโหมด Admin เช่นกัน
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"

- ขั้นตอนต่อไปสามารถข้ามได้หากไม่ใช่ทางเลือกสุดท้าย ขั้นตอนนี้เป็นวิธีที่แข็งแกร่งกว่า แต่จะรีเซ็ตกระบวนการอัปเดตจากรากฐาน แนะนำให้ลอง โดยมากมายในฟอรัมออนไลน์
- เปลี่ยนชื่อโฟลเดอร์ SoftwareDistribution และ catroot2 ที่ Command Prompt ในโหมด Admin คัดลอกคำสั่งต่อไปนี้ทีละบรรทัด กด Enter ทีละคำสั่ง
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak
- คำสั่งต่อไปจะช่วยรีเซ็ต BITS (Background Intelligence Transfer Service) และ wuauserv (Windows Update Service) ให้เป็นค่าเริ่มต้นของ Security Descriptors อย่าปรับเปลี่ยนคำสั่ง คัดลอกมาใช้โดยตรง
sc.exe sdset bits 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)

- ไปที่โฟลเดอร์ System32 เพื่อดำเนินการต่อ
cd /d %windir%\system32
- เนื่องจากเราได้รีเซ็ต BITS service แล้ว จึงต้องลงทะเบียนไฟล์ทั้งหมดที่จำเป็นสำหรับบริการนี้ใหม่ แต่ละไฟล์ต้องใช้คำสั่งแยกกัน กระบวนการอาจใช้เวลานาน คัดลอกคำสั่งทีละรายการ อย่าปล่อย漏掉任何 以下是需要重新注册的文件列表及其对应的命令。 (Note: The original text had a mix of English and Chinese here. I'll translate the meaning and list the commands if they were provided, but the source text cuts off the list. I will note that the list follows.)
- บางไฟล์อาจเหลืออยู่หลังกระบวนการเหล่านี้ เราจะค้นหาในขั้นตอนนี้ เปิด Registry Editor โดยพิมพ์ "regedit" ในช่องค้นหาหรือกล่อง Run ไปที่คีย์ต่อไปนี้ใน Registry Editor:
HKEY_LOCAL_MACHINE\COMPONENTS

- คลิกที่คีย์ Components ตรวจสอบด้านขวาของหน้าต่างหาคีย์ต่อไปนี้ ลบทั้งหมดหากพบ
PendingXmlIdentifier
NextQueueEntryIndex
AdvancedInstallersNeedResolving
- รีเซ็ต Winsock โดยคัดลอกคำสั่งต่อไปนี้ไปที่ Command Prompt ในโหมด Admin:
netsh winsock reset

- หากใช้ Windows 7, 8, 8.1 หรือ 10 ที่ Command Prompt ให้คัดลอกคำสั่งนี้ กด Enter:
netsh winhttp reset proxy
- หากขั้นตอนทั้งหมดผ่านไปอย่าง顺利 ให้เริ่มบริการที่หยุดไว้ในขั้นตอนแรกด้วยคำสั่งต่อไปนี้:
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc
- รีสตาร์ทคอมพิวเตอร์หลังจากทำตามขั้นตอนทั้งหมดที่ระบุไว้
วิธีแก้ไข 4: ลบแพ็กเกจโดยใช้ Command Prompt
เนื่องจากมีการอัปเดต Windows 2 ประเภท: Delta updates และ Cumulative updates ปัญหาบางอย่างอาจเกิดขึ้นหากทั้งสองถูกดาวน์โหลดและเริ่มติดตั้งพร้อมกัน ความแตกต่างคือ Delta updates นำเฉพาะการแก้ไขใหม่ของเดือนนั้น ส่วน Cumulative updates นำการแก้ไขทั้งหมดของเดือนนั้นรวมถึงการอัปเดตก่อนหน้าที่ยังไม่ได้ติดตั้ง
Delta updates เผยแพร่เฉพาะที่ Windows Update Catalog ในขณะที่ Cumulative updates เผยแพร่ที่ Windows Update Catalog, WSUS และ Windows Update server ที่ดาวน์โหลดอัปเดตโดยอัตโนมัติ หากคุณติดตั้ง Delta และ Cumulative update ทั้งคู่พร้อมกัน หรือทั้งสองถูกดาวน์โหลด/ติดตั้งพร้อมกัน ให้ปฏิบัติตามขั้นตอนด้านล่าง
- เปิด Command Prompt โดยค้นหาใน Start menu คลิกขวาเลือก Run as administrator

- คัดลอกและวางคำสั่งต่อไปนี้เพื่อแสดงรายการแพ็กเกจที่รอการติดตั้ง
x:\windows\system32\dism.exe /image: /Get-Packages >>
x แทนพาร์ติชันที่ติดตั้ง Windows (ปกติคือ c) ใช้ได้กับ "
c:\windows\system32\dism.exe /image:c:\ /Get-Packages >> c:\temp\packages.txt

- เปิดไฟล์ที่บันทึกไว้ ค้นหาอัปเดต (แพ็กเกจ) ที่รอการติดตั้ง หากพบ สามารถลบได้โดยใช้คำสั่ง remove-package ผ่าน DISM.exe เหมือนกัน คัดลอกและวางคำสั่งต่อไปนี้ใน Command Prompt ในโหมด Admin:
dism.exe /image: /remove-package /packagename:
ตัวอย่างคำสั่ง:
c:\windows\system32\dism.exe /image:c:\ /remove-package /packagename:Package_for_KB4014329~31bf3856ad364e35~amd64~~10.0.1.0
