ข้อผิดพลาด "C:\Windows\SysWOW64\D3D11.dll is either not designed to run on Windows or it contains an error" มักเกิดขึ้นเมื่อผู้ใช้เปิดแอปพลิเคชันหรือเกม
ไฟล์ D3D11.dll เป็นส่วนหนึ่งของการกระจาย DirectX11 และถูกใช้งานอย่างสม่ำเสมอโดยเกมและแอปพลิเคชันที่ต้องการการประมวลผลกราฟิกมาก
แม้ข้อผิดพลาด D3D11.dll partใหญ่ส่วนจะแก้ไขได้หลังจากติดตั้งซอฟต์แวร์ DirectX ใหม่ แต่ปัญหานี้แตกต่างออกไป ผู้ใช้ส่วนใหญ่ที่เจอข้อผิดพลาดนี้รายงานว่าการติดตั้ง redistributable collections ใหม่ไม่สามารถแก้ไขปัญหาได้สำเร็จ
คำเตือน: อย่าพยายามแทนที่ d3d11.dll ของคุณด้วย "เวอร์ชันสะอาด" ที่ดาวน์โหลดจากเว็บไซต์ DLL ไฟล์จำนวนมากที่โฮสต์อยู่ที่นั่นมีรหัสอันตรายซึ่งจะทำให้ระบบของคุณ 드러งเปลืองต่อการโจมตีด้านความปลอดภัยในอนาคต ในสถานการณ์เช่นนี้ วิธีที่แนะนำคือผ่านช่องทางทางการ
หากคุณกำลังเผชิญกับ "C:\Windows\SysWOW64\D3D11.dll is either not designed to run on Windows or it contains an error" วิธีแก้ไขด้านล่างมีแนวโน้มจะแก้ไขปัญหาได้ เราได้ระบุวิธีที่เป็นไปได้หลายอย่างที่จะแก้ไขปัญหาที่ผู้ใช้ในสถานการณ์เดียวกันรายงานไว้ โปรดปฏิบัติตามวิธีการตามลำดับจนกว่าจะพบวิธีที่แก้ไขสถานการณ์ของคุณได้
วิธีที่ 1: รันการสแกน SFC
ก่อนที่เราจะลงลึกไปที่เทคนิคที่ซับซ้อน เรามาดูกันว่าการสแกน SFC แบบง่ายๆ สามารถแก้ไขปัญหาได้หรือไม่ บางผู้ใช้รายงานว่าปัญหาได้รับการแก้ไขหลังจากที่พวกเขารันยูทิลิตี้ System File Checker
หมายเหตุ: System File Checker เป็นยูทิลิตี้ที่จัดเก็บในเครื่องซึ่งช่วยให้ผู้ใช้สแกนและกู้คืนไฟล์ระบบ Windows ที่เสียหาย การสแกนโดย SFC utility จะค้นหาการเปลี่ยนแปลงภายในไฟล์ระบบที่ได้รับการปกป้อง หากพบการเปลี่ยนแปลง ยูทิลิตี้จะแทนที่ไฟล์ที่เสียหาย/ถูก竄改ด้วยสำเนาใหม่ที่จัดเก็บในเครื่อง
ปฏิบัติตามขั้นตอนด้านล่างเพื่อทำการสแกน System File Checker และดูว่ามันแก้ไขปัญหา "C:\Windows\SysWOW64\D3D11.dll is either not designed to run on Windows or it contains an error" ได้หรือไม่:
- เปิด Command Prompt ด้วยสิทธิ์ Administrator โดยเข้าถึงเมนู Start ของ Windows ที่มุมซ้ายล่างและค้นหา "cmd" จากนั้นคลิกขวาที่ Command Prompt และเลือก Run as Administrator

- ใน Command Prompt ที่มีสิทธิ์สูง ให้พิมพ์ "sfc /scannow" และกด Enter เพื่อเริ่มการสแกน System File Checker

- รอจนการสแกนเสร็จสิ้น ขึ้นอยู่กับขนาดฮาร์ดดิสก์และสเปคคอมพิวเตอร์อื่นๆ กระบวนการนี้จะใช้เวลาน้อยกว่าหรือมากกว่า 20 นาที
- เมื่อกระบวนการเสร็จสิ้น ให้ปิด Command Prompt ที่มีสิทธิ์สูงและรีสตาร์ทคอมพิวเตอร์
- ตรวจสอบว่าข้อผิดพลาด "C:\Windows\SysWOW64\D3D11.dll is either not designed to run on Windows or it contains an error" ได้รับการแก้ไขในการเริ่มครั้งต่อไปหรือไม่ หากยังเผชิญปัญหาเดิม ให้ไปที่ วิธีที่ 2
วิธีที่ 2: ลงทะเบียนไฟล์ D3D11.dll ใหม่
ไม่ว่าผลลัพธ์ในวิธีที่ 1 จะเป็นอย่างไร เรามาลองลงทะเบียนไฟล์ .DLL ทั้งหมดบนคอมพิวเตอร์ของคุณใหม่และดูว่ามันแก้ไขปัญหา "C:\Windows\SysWOW64\D3D11.dll is either not designed to run on Windows or it contains an error" ได้หรือไม่ บางผู้ใช้รายงานว่าปัญหาได้รับการแก้ไขในตอนท้ายของกระบวนการนี้
นี่คือคำแนะนำฉบับรวดเร็วสำหรับการลงทะเบียนไฟล์ .DLL บนคอมพิวเตอร์ของคุณ (รวมถึง D3D11.dll):
- เข้าถึงเมนู Start ของ Windows (มุมซ้ายล่าง) และพิมพ์ "cmd" จากนั้นคลิกขวาที่ Command Prompt และเลือก Run as Administrator เพื่อเปิด Command Prompt ที่มีสิทธิ์สูง

- ใน Command Prompt ที่มีสิทธิ์สูง ให้พิมพ์คำสั่งต่อไปนี้และกด Enter:
for %d in (*.dll) do regsvr32 -s %d - รอจนกระบวนการเสร็จสิ้น เมื่อได้รับข้อความยืนยัน ให้ปิดหน้าต่าง Command Prompt ที่มีสิทธิ์สูงและรีบูทคอมพิวเตอร์
- ในการเริ่มครั้งต่อไป ให้รีบูทคอมพิวเตอร์ เปิดแอปพลิเคชันที่เคยแสดงข้อความ "C:\Windows\SysWOW64\D3D11.dll is either not designed to run on Windows or it contains an error" และตรวจสอบว่าขั้นตอนข้างต้นแก้ไขปัญหาได้หรือไม่
หากยังเจอข้อผิดพลาดเดิม ให้ไปที่วิธีสุดท้าย
วิธีที่ 3: แทนที่ไฟล์ d3d11.dll ด้วยสำเนาจากเครื่องท้องถิ่นด้วยตนเอง
หากทั้งสองวิธีข้างต้นล้มเหลว เรามาใช้วิธีที่รุนแรงขึ้น บางผู้ใช้ที่เผชิญปัญหาเดียวกันแก้ไขได้หลังจากยึดครอง ไฟล์ d3d11.dll จากโฟลเดอร์ sysWow และแทนที่ด้วยสำเนาใหม่จากโฟลเดอร์ winsxs
หมายเหตุ: โปรดทราบว่ามีไฟล์ d3d11.dll 2 ไฟล์ที่แตกต่างกัน หนึ่งอยู่ในโฟลเดอร์ sysWOW และอีกหนึ่งใน system32 ขั้นตอนด้านล่างจะทำกับไฟล์ d3d11.dll ที่อยู่ในโฟลเดอร์ sysWOW
คำเตือน: ขั้นตอนด้านล่างจะค่อนข้างเทคนิคและหากทำไม่ถูกต้องอาจสร้างปัญหาเพิ่มเติมกับคอมพิวเตอร์ของคุณ โปรดดำเนินต่อต่อก็ต่อเมื่อคุณมั่นใจในความสามารถของคุณ
นี่คือคำแนะนำขั้นตอนต่อขั้นตอนสำหรับการยึดครอง ไฟล์ d3d11.dll (จาก sysWOW) ลบด้วยตนเอง และแทนที่ด้วยสำเนาจากโฟลเดอร์ winsxs:
- เข้าถึงเมนู Start ของ Windows (มุมซ้ายล่าง) และพิมพ์ "cmd" จากนั้นคลิกขวาที่ Command Prompt และเลือก Run as Administrator เพื่อเปิด Command Prompt ที่มีสิทธิ์สูง

- วางคำสั่งต่อไปนี้ใน Command Prompt ที่มีสิทธิ์สูงและกด Enter เพื่อยึดครอง ไฟล์ d3d11.dll: takeown /f C:\Windows\SysWOW64
หมายเหตุ: หากคุณใช้สถาปัตยกรรม 32-bit ให้เปลี่ยนโฟลเดอร์ SysWow64 เป็น SysWow - แม้เราจะมีสิทธิ์เป็นเจ้าของไฟล์แล้ว เรายังไม่สามารถลบได้เพราะไม่มีสิทธิ์ที่เหมาะสม เพื่อให้ได้สิทธิ์ เราต้องรันคำสั่ง cacls ใน Command Prompt ที่มีสิทธิ์สูงเพื่อให้ตัวเองมีการควบคุมเต็มที่ วางคำสั่งต่อไปนี้ใน Command Prompt ที่มีสิทธิ์สูงและกด Enter:
cacls C:\Windows\System32\en-US\winload.exe.mui /G *appuals*:Fหมายเหตุ: โปรดทราบว่า *appuals* เป็นเพียงตัวแทนสำหรับชื่อผู้ใช้ของคุณ เพื่อให้คำสั่งนี้ทำงาน คุณต้องแทนที่ด้วยชื่อผู้ใช้ของคุณเอง
- ที่พรอมต์ "Are you sure?" ให้พิมพ์ตัวอักษร "Y" และกด Enter อีกครั้ง ณ จุดนี้ คุณสามารถปิด Command Prompt ที่มีสิทธิ์สูงได้แล้ว

- เมื่อ ขั้นตอนที่ 4 เสร็จสิ้น คุณจะสามารถลบไฟล์ d3d11.dll ได้อย่างปกติ วิธีง่ายที่สุดคือไปที่ C:\Windows\SysWOW64 ค้นหาไฟล์ d3d11.dll และลบ

- ต่อไป ไปที่ C:\Windows\WinSxS\wow64_microsoft-windows-directx-direct3d11_31bf3856ad364e35_10.0.16299.248_none_079cb6546cd25135 และคัดลอกไฟล์ d3d11.dll ที่สะอาดจากที่นี่
หมายเหตุ: หากคุณไม่พบ d3d11.dll ที่ตำแหน่งนี้ ให้ใช้แถบค้นหาที่มุมขวาบนเพื่อค้นหา d3d11.dll หากฟังก์ชันค้นหาพบหลายรายการ ให้คัดลอกตัวที่มีวันที่ล่าสุด- สุดท้าย ให้วางไฟล์ d3d11.dll ที่คัดลอกไว้ก่อนหน้านี้ใน SysWow (หรือ SysWOW64) และรีบูทคอมพิวเตอร์ ดูว่าปัญหา "C:\Windows\SysWOW64\D3D11.dll is either not designed to run on Windows or it contains an error" ได้รับการแก้ไขในการเริ่มครั้งต่อไปหรือไม่