कुछ उपयोगकर्ता कुछ एप्लिकेशन एक्जीक्यूटेबल खोलने का प्रयास करते समय "रजिस्ट्री एक अस्तित्वहीन Java Runtime Environment को संदर्भित करती है" त्रुटि प्राप्त करने की रिपोर्ट करते हैं। अधिकांश प्रभावित उपयोगकर्ता रिपोर्ट करते हैं कि यह मुद्दा अचानक होने लगा (वे पहले उसी एक्जीक्यूटेबल को बिना किसी समस्या के चला सकते थे)।

"रजिस्ट्री एक अस्तित्वहीन Java Runtime Environment को संदर्भित करती है" त्रुटि का कारण
हमने इस मुद्दे को दोहराने का प्रयास करके और विभिन्न उपयोगकर्ता रिपोर्टों को देखकर जांच की। यह विशेष त्रुटि संदेश एक संकेतक है कि आपके रजिस्ट्री एडिटर में पुराने Java इंस्टॉलेशन के अवशेष हैं।
हमने जो पाया, उसके आधार पर, कई सामान्य परिदृश्य हैं जो इस मुद्दे की उपस्थिति का कारण बनेंगे:
- रजिस्ट्री में ऐसे एंट्री हैं जो वास्तविक Java पथ की ओर नहीं ले जाते - यह आमतौर पर होता है यदि आप प्रारंभिक इंस्टॉलेशन के बाद सॉफ्टवेयर को मैन्युअल रूप से एक अलग डायरेक्टरी में ले जाते हैं। इस मुद्दे को उन रजिस्ट्री एंट्री को मैन्युअल रूप से हटाकर ठीक किया जा सकता है जो मैन्युअल रूप से मेल नहीं खाते।
- अपूर्ण या भ्रष्ट Java इंस्टॉलेशन - कई उपयोगकर्ताओं ने Java को अनइंस्टॉल करके और फिर JDK को पुनर्स्थापित करके इस विशेष मुद्दे को हल किया है। उपयोगकर्ता अटकलें सुझाव देती हैं कि एक भ्रष्ट फ़ाइल या गड़बड़ इसका कारण हो सकती है।
यदि आप वर्तमान में इस विशेष मुद्दे को हल करने के लिए संघर्ष कर रहे हैं, तो यह लेख आपको सत्यापित समस्या निवारण चरणों का संग्रह प्रदान करेगा। नीचे आपके पास कई विधियां हैं जिन्हें इसी तरह की स्थिति में अन्य उपयोगकर्ताओं ने सफलतापूर्वक मुद्दे को हल करने के लिए उपयोग किया है।
सर्वोत्तम परिणामों के लिए, नीचे दी गई विधियों का क्रम में पालन करें जब तक कि आपको कोई ऐसा सुधार न मिल जाए जो आपके विशेष परिदृश्य में समस्या को हल करता है। चलो शुरू करते हैं!
विधि 1: JavaHome और RuntimeLib के लिए अस्तित्वहीन रजिस्ट्री एंट्री हटाना
उसी मुद्दे का सामना कर रहे कई उपयोगकर्ताओं ने उन JavaHome और RuntimeLib रजिस्ट्री एंट्री को हटाकर मुद्दे को हल करने में कामयाबी हासिल की है जो किसी अस्तित्वहीन पथ को संदर्भित नहीं करते।
प्रत्येक JavaHome वेरिएबल को \bin\client\jvm.dll के समान पथ को संदर्भित करना चाहिए जबकि प्रत्येक RuntimeLib को एक अस्तित्वहीन jvm.dll फ़ाइल को संदर्भित करना चाहिए। लेकिन चूंकि यह मुद्दा होता है, आप एक या एक से अधिक वेरिएबल पा सकते हैं जिनमें संबंधित पथ या फ़ाइल नहीं है।
यह हो सकता है यदि आपने हाल ही में इसे इंस्टॉल करने के बाद सॉफ्टवेयर को किसी अन्य डायरेक्टरी में हटा दिया है। यदि आप किसी भी रजिस्ट्री वेरिएबल को ढूंढने में सफल होते हैं, तो आपको उन्हें मैन्युअल रूप से हटाने की आवश्यकता होगी।
इस प्रक्रिया के लिए कुछ मैन्युअल काम और थोड़ी तकनीकी विशेषज्ञता की आवश्यकता होगी, लेकिन यह आपको पूरे Java Runtime Environment को पुनर्स्थापित किए बिना मुद्दे को हल करने की अनुमति दे सकता है। यदि आप इसके साथ जाने के लिए तैयार हैं, तो हमने पूरी चीज के माध्यम से एक चरण-दर-चरण गाइड तैयार किया है। यहां आपको क्या करना है:
- Windows कुंजी + R दबाएं एक Run डायलॉग बॉक्स खोलने के लिए। फिर, "regedit" टाइप करें और रजिस्ट्री एडिटर खोलने के लिए Enter दबाएं। जब UAC (User Account Control) द्वारा संकेत दिया जाए, तो प्रॉम्प्ट पर Yes क्लिक करें।

- रजिस्ट्री एडिटर के अंदर, बाएं फलक का उपयोग करके निम्न स्थान पर नेविगेट करें:
Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment
- एक बार जब आप वहां पहुंच जाते हैं, तो Java Runtime Environment फ़ोल्डर में स्थित पहले Java संस्करण का चयन करें और दाएं फलक पर जाएं।
- दाएं फलक में, JavaHome पर डबल-क्लिक करें और संपूर्ण Value data पथ को अपने क्लिपबोर्ड पर कॉपी करें।

- फाइल एक्सप्लोरर खोलें और आपके द्वारा पहले कॉपी किए गए स्थान को नेविगेशन बार में पेस्ट करें। यदि स्थान कहीं ले जाता है, तो इसका मतलब है कि रजिस्ट्री मान में एक संबंधित पथ है। यदि यह आपको कहीं नहीं ले जाता, तो इसका मतलब है कि रजिस्ट्री एक अस्तित्वहीन Java इंस्टॉलेशन को संदर्भित करती है और इसे हटा दिया जाना चाहिए।

नोट: यदि Value data पथ आपको कहीं नहीं ले जाता, तो JavaHome पर राइट-क्लिक करें और रजिस्ट्री एंट्री से छुटकारा पाने के लिए Delete पर क्लिक करें।

- एक बार JavaHome का ध्यान रखने के बाद, RuntimeLib पर डबल-क्लिक करें और Value data पथ को अपने क्लिपबोर्ड में कॉपी करें।

- पहले की तरह, एक फाइल एक्सप्लोरर विंडो खोलें और आपके द्वारा पहले कॉपी किए गए पथ को नेविगेशन बार में पेस्ट करें। लेकिन इस बार, Enter दबाने से पहले अंतिम भाग "jvm.dll" को हटा दें।

नोट: यदि आपको एक संबंधित पथ मिलता है, तो इसका मतलब है कि RuntimeLib रजिस्ट्री मान सही ढंग से काम कर रहा है। इस घटना में कि आपको एक संदेश मिलता है कि विंडोज पथ ढूंढने में असमर्थ है, रजिस्ट्री मान एक अस्तित्वहीन Java इंस्टॉलेशन को संदर्भित करता है और इसे हटाने की आवश्यकता है। इस मामले में, RuntimeLib पर राइट-क्लिक करें और मान से छुटकारा पाने के लिए Delete चुनें।

- एक बार पहला Java Runtime Environment संस्करण निपट जाने के बाद, Java Runtime Environment के तहत आपके द्वारा छोड़े गए हर Java संस्करण के साथ चरण 4 से 7 दोहराएं।

- एक बार सभी रजिस्ट्री एंट्री सत्यापित और संबोधित हो जाने पर, रजिस्ट्री एडिटर बंद करें और अपनी मशीन को पुनरारंभ करें और अगले स्टार्टअप पर देखें कि क्या त्रुटि हल हो गई है।
यदि यह विधि सफल नहीं थी या आप केवल एक सरल सुधार की तलाश में हैं, तो नीचे दी गई अगली विधि पर जाएं।
विधि 2: Java अनइंस्टॉल करना और Java JDK इंस्टॉल करना
यदि आप Minecraft या इसी तरह के एप्लिकेशन को लॉन्च करने का प्रयास करते समय इस मुद्दे का सामना कर रहे हैं जो JDK पर निर्भर करता है, तो आप पूरे Java वातावरण को अनइंस्टॉल करके और फिर JDK (Java Development Kit) को पुनर्स्थापित करके मुद्दे को हल करने में सक्षम हो सकते हैं।
यहां बताया गया है कि यह कैसे करना है:
- Windows कुंजी + R दबाएं एक Run डायलॉग बॉक्स खोलने के लिए। फिर, "appwiz.cpl" टाइप करें और Programs and Features खोलने के लिए Enter दबाएं।

- Programs and Features के अंदर, Publisher कॉलम पर क्लिक करें, फिर Oracle Corporation द्वारा प्रकाशित प्रविष्टियों तक नीचे स्क्रॉल करें।
- अगला, प्रत्येक प्रविष्टि पर राइट-क्लिक करके और Uninstall पर क्लिक करके हर Java इंस्टॉलेशन (या अपडेट) को अनइंस्टॉल करें। फिर, प्रत्येक प्रविष्टि के साथ अनइंस्टॉलेशन पूरा करने के लिए ऑन-स्क्रीन संकेतों का पालन करें।

- एक बार जब आप Java वातावरण को पूरी तरह से अनइंस्टॉल कर लेते हैं, तो अपने कंप्यूटर को पुनरारंभ करें।
- अगले स्टार्टअप पर, इस लिंक (यहां) पर जाएं और Download बटन पर क्लिक करें।

- अगली स्क्रीन में, Java SE Development Kit तक नीचे स्क्रॉल करें और Accept Licence Agreement से जुड़े टॉगल पर क्लिक करें। फिर, विंडोज से जुड़े एक्जीक्यूटेबल डाउनलोड लिंक पर क्लिक करें।

- JDK इंस्टॉलर खोलें और अपने PC पर JDK वातावरण इंस्टॉल करने के लिए ऑन-स्क्रीन संकेतों का पालन करें। जब प्रक्रिया पूरी हो जाए तो यदि स्वचालित रूप से ऐसा करने के लिए संकेत नहीं दिया जाता है तो अपने कंप्यूटर को पुनरारंभ करें।
- अगले स्टार्टअप पर, आपको "रजिस्ट्री एक अस्तित्वहीन Java Runtime Environment को संदर्भित करती है" त्रुटि का सामना किए बिना एप्लिकेशन शुरू करने में सक्षम होना चाहिए।