ผู้ใช้บางคนรายงานว่าพบข้อผิดพลาด "registry refers to a nonexistent Java Runtime Environment" (Registry อ้างอิง Java Runtime Environment ที่ไม่มีอยู่จริง) เมื่อพยายามเปิดไฟล์ executable ของแอปพลิเคชันบางอย่าง ผู้ใช้ที่ได้รับผลกระทบส่วนใหญ่รายงานว่าปัญหานี้เริ่มเกิดขึ้นอย่างกะทันหัน (พวกเขาเคยสามารถรัน executable เดียวกันได้โดยไม่มีปัญหาก่อนหน้านี้)
สาเหตุของข้อผิดพลาด "registry refers to a nonexistent Java Runtime Environment"
เราสืบสวนปัญหานี้โดยพยายามจำลองปัญหาและดูจากรายงานของผู้ใช้ต่างๆ ข้อความผิดพลาดเฉพาะนี้เป็นตัวบ่งชี้ว่าคุณมีเศษซากจากการติดตั้ง Java เก่าใน Registry editor ของคุณ
จากที่เราพบ มีสถานการณ์ทั่วไปหลายอย่างที่จะนำไปสู่การปรากฏของปัญหานี้:
- Registry มี entry ที่ไม่ชี้ไปยังพาธ Java จริง - สิ่งนี้เกิดขึ้นอย่างทั่วไปหากคุณย้ายซอฟต์แวร์ไปยังไดเรกทอรีที่แตกต่างกัน (ด้วยตนเอง) หลังจากการติดตั้งครั้งแรก ปัญหานี้สามารถแก้ไขได้โดยการลบ registry entries ที่ไม่ตรงกันด้วยตนเอง
- การติดตั้ง Java ที่ไม่สมบูรณ์หรือเสียหาย - ผู้ใช้หลายคนแก้ไขปัญหาเฉพาะนี้ได้โดยการถอนการติดตั้ง Java และติดตั้ง JDK ใหม่ การคาดเดาของผู้ใช้บ่งชี้ว่าไฟล์ที่เสียหายหรือ glitch อาจก่อให้เกิดสิ่งนี้
หากคุณกำลังต่อสู้เพื่อแก้ไขปัญหาเฉพาะนี้ บทความนี้จะให้คุณชุดขั้นตอนการแก้ไขปัญหาที่ได้รับการตรวจสอบ ด้านล่างคุณมีหลายวิธีที่ผู้ใช้คนอื่นในสถานการณ์คล้ายคลึงใช้เพื่อแก้ไขปัญหาได้สำเร็จ
เพื่อผลลัพธ์ที่ดีที่สุด ให้ทำตามวิธีการด้านล่างตามลำดับจนกว่าคุณจะพบวิธีแก้ไขที่แก้ไขปัญหาในสถานการณ์เฉพาะของคุณได้ เริ่มกันเลย!
วิธีที่ 1: ลบ registry entries ที่ไม่มีอยู่จริงสำหรับ JavaHome และ RuntimeLib
ผู้ใช้หลายคนที่เผชิญกับปัญหาเดียวกันแก้ไขปัญหาได้โดยการลบ registry entries JavaHome และ RuntimeLib ที่ไม่ได้อ้างอิงไปยังพาธที่มีอยู่จริง
ทุกตัวแปร JavaHome ควรอ้างอิงไปยังพาทที่ คล้ายกับ \bin\client\jvm.dll ในขณะที่แต่ละ RuntimeLib ควรอ้างอิงไปยังไฟล์ jvm.dll ที่มีอยู่จริง แต่เพราะปัญหานี้เกิดขึ้น คุณอาจพบตัวแปรหนึ่งหรือหลายตัวที่ไม่มีพาธหรือไฟล์ที่ตรงกัน
สิ่งนี้อาจเกิดขึ้นหากคุณเพิ่งลบซอฟต์แวร์ไปยังไดเรกทอรีอื่นหลังจากที่คุณติดตั้งมัน หากคุณสามารถค้นหาตัวแปร registry ใดๆ ได้ คุณจะต้องลบมันด้วยตนเอง
ขั้นตอนนี้จะต้องใช้การทำงานด้วยตนเองบางส่วนและความเชี่ยวชาญทางเทคนิคเล็กน้อย แต่สิ่งนี้อาจช่วยให้คุณแก้ไขปัญหาได้โดยไม่ต้องติดตั้ง Java Runtime Environment ใหม่ทั้งหมด หากคุณพร้อมที่จะดำเนินการต่อ เราได้เตรียมคำแนะนำทีละขั้นตอนสำหรับทั้งกระบวนการ นี่คือสิ่งที่คุณต้องทำ:
- กด Windows key + R เพื่อเปิดกล่องโต้ตอบ Run จากนั้นพิมพ์ "regedit" และกด Enter เพื่อเปิด Registry Editor เมื่อได้รับแจ้งจาก UAC (User Account Control) ให้คลิก Yes ที่ prompt

- ภายใน Registry Editor ให้ใช้บานหน้าต่างด้านซ้ายเพื่อนำทางไปยังตำแหน่งต่อไปนี้:
Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment
- เมื่อคุณไปถึงที่นั่นแล้ว ให้เลือก Java version แรกที่ตั้งอยู่ในโฟลเดอร์ Java Runtime Environment และไปที่บานหน้าต่างด้านขวา
- ในบานหน้าต่างด้านขวา ให้ดับเบิลคลิกที่ JavaHome และคัดลอกพาธ Value data ทั้งหมดไปที่คลิปบอร์ดของคุณ

- เปิด File Explorer และวางตำแหน่งที่คุณคัดลอกไว้ก่อนหน้านี้ในแถบนำทาง หากตำแหน่งนำไปสู่ที่ไหนสักแห่ง หมายความว่าค่า registry มีพาธที่ตรงกัน หากไม่นำไปที่ไหนเลย หมายความว่า registry อ้างอิงถึงการติดตั้ง Java ที่ไม่มีอยู่จริงและควรถูกลบ

หมายเหตุ: หากพาธ Value data ไม่นำคุณไปที่ไหน ให้คลิกขวาที่ JavaHome และคลิก Delete เพื่อกำจัด registry entry

- เมื่อ JavaHome ได้รับการจัดการแล้ว ให้ดับเบิลคลิกที่ RuntimeLib และคัดลอกพาธ Value data ไปที่คลิปบอร์ดของคุณ

- เหมือนกัน ให้เปิดหน้าต่าง File Explorer และวางพาธที่คุณคัดลอกไว้ก่อนหน้านี้ในแถบนำทาง แต่ครั้งนี้ ให้ลบส่วนท้าย "jvm.dll" ออกก่อนกด Enter

หมายเหตุ: หากคุณพบพาธที่ตรงกัน หมายความว่าค่า registry RuntimeLib ทำงานอย่างถูกต้อง ในกรณีที่คุณได้รับข้อความว่าวินโดว์ไม่สามารถหาพาธได้ ค่า registry นี้อ้างอิงถึงการติดตั้ง Java ที่ไม่มีอยู่จริงและต้องถูกลบ ในกรณีนี้ ให้คลิกขวาที่ RuntimeLib และเลือก Delete เพื่อกำจัดค่า

- เมื่อ Java Runtime Environment version แรกได้รับการจัดการแล้ว ให้ทำซ้ำขั้นตอนที่ 4 ถึง 7 กับ Java version ทุกตัวที่คุณเหลืออยู่ภายใต้ Java Runtime Environment

- เมื่อตรวจสอบและแก้ไข registry entries ทั้งหมดแล้ว ให้ปิด Registry Editor และรีสตาร์ทเครื่องของคุณ และดูว่าข้อผิดพลาดได้รับการแก้ไขที่การสตาร์ทอัปครั้งต่อไปหรือไม่
หากวิธีนี้ไม่สำเร็จ หรือคุณเพียงแค่มองหาวิธีแก้ไขที่ง่ายกว่า ให้ไปยังวิธีถัดไปด้านล่าง
วิธีที่ 2: ถอนการติดตั้ง Java และติดตั้ง Java JDK
หากคุณเผชิญกับปัญหานี้เมื่อพยายามเปิด Minecraft หรือแอปพลิเคชันคล้ายๆ ที่พึ่งพา JDK คุณอาจสามารถแก้ไขปัญหาได้โดยการถอนการติดตั้งสภาพแวดล้อม Java ทั้งหมด และจากนั้นติดตั้ง JDK (Java Development Kit) ใหม่
นี่คือคำแนะนำ מהירה วิธีการทำ:
- กด Windows key + R เพื่อเปิดกล่องโต้ตอบ Run จากนั้นพิมพ์ "appwiz.cpl" และกด Enter เพื่อเปิด Programs and Features

- ภายใน Programs and Features ให้คลิกที่คอลัมน์ Publisher จากนั้นเลื่อนลงไปที่รายการที่เผยแพร่โดย Oracle Corporation
- ต่อไป ให้ดำเนินการถอนการติดตั้งการติดตั้ง Java ทุกอย่าง (หรืออัปเดต) โดยคลิกขวาที่แต่ละรายการและคลิก Uninstall จากนั้นทำตามขั้นตอนบนหน้าจอเพื่อดำเนินการถอนการติดตั้งให้เสร็จสมบูรณ์กับแต่ละรายการ

- เมื่อคุณถอนการติดตั้งสภาพแวดล้อม Java ให้สมบูรณ์แล้ว ให้รีสตาร์ทคอมพิวเตอร์ของคุณ
- ที่สตาร์ทอัปครั้งต่อไป ให้ไปที่ลิงก์นี้ (here) และคลิกที่ปุ่ม Download

- ในหน้าจอถัดไป ให้เลื่อนลงไปที่ Java SE Development Kit และคลิก toggle ที่เกี่ยวข้องกับ Accept Licence Agreement จากนั้นคลิกที่ลิงก์ดาวน์โหลด executable ที่เกี่ยวข้องกับ Windows

- เปิด JDK installer และทำตามขั้นตอนบนหน้าจอเพื่อติดตั้งสภาพแวดล้อม JDK บน PC ของคุณ รีสตาร์ทคอมพิวเตอร์ของคุณหากไม่ได้รับแจ้งให้ทำโดยอัตโนมัติเมื่อกระบวนการเสร็จสิ้น
- ที่สตาร์ทอัปครั้งต่อไป คุณควรจะสามารถเริ่มแอปพลิเคชันได้โดยไม่พบข้อผิดพลาด "registry refers to a nonexistent Java Runtime Environment"