java विंडोज एक्सपी पर जेडीके 8 स्थापित करना-advapi32.dll त्रुटि




windows-xp java-8 (4)

मैंने JDK8 बिल्ड बी JDK8 डाउनलोड किया और इंस्टॉल करने का प्रयास करते समय मुझे निम्न त्रुटि मिल रही है:

प्रक्रिया प्रविष्टि बिंदु RegDeleteKeyExA गतिशील लिंक लाइब्रेरी ADVAPI32.dll में स्थित नहीं हो सका

ऑपरेटिंग सिस्टम विंडोज एक्सपी, संस्करण 2002 सर्विस पैक 3, 32-बिट है।


उन लोगों के लिए एक वैकल्पिक समाधान भी है जो हेक्स संपादकों (जैसे XVI32) का उपयोग करने से डरते नहीं हैं [इसके लिए ट्रेवर के लिए धन्यवाद]: jdk-8uXX-windows-i586.exe किए गए 1 इंस्टॉलर निष्पादन योग्य ( jdk-8uXX-windows-i586.exe के मामले में) RegDeleteKeyExA ("नया" ADVAPI32.DLL में पाया गया एपीआई का नाम) RegDeleteKeyA (विरासत एपीआई नाम) के साथ RegDeleteKeyA दो हेक्स RegDeleteKeyA (पैडिंग / सेगमेंटेशन सीमाओं को संरक्षित करने के लिए) के सभी घटनाओं को प्रतिस्थापित करें। इंस्टॉलर असमर्थित विंडोज संस्करण के बारे में शिकायत करेगा, लेकिन फिर भी काम करेगा।

संदर्भ के लिए, कच्चे हेक्स तार होंगे:

52 65 67 44 65 6C 65 74 65 4B 65 79 45 78 41

के साथ बदल दिया

52 65 67 44 65 6C 65 74 65 4B 65 79 41 00 00

नोट: यह प्रक्रिया ऑफ़लाइन (स्टैंडअलोन) और ऑनलाइन (डाउनलोडर) पैकेज दोनों पर लागू होती है।

1: कुछ नए इंस्टॉलर संस्करण UPX साथ पैक किए गए हैं - आपको उन्हें पहले अनपैक करने की आवश्यकता होगी, अन्यथा आप केवल हेक्स स्ट्रिंग को नहीं ढूंढ पाएंगे


ओरेकल ने विंडोज एक्सपी स्थापना त्रुटि के लिए फिक्स की घोषणा की है

मैं यह जवाब जोड़ रहा हूं क्योंकि ओरेकल ने विंडोज एक्सपी स्थापना को ठीक करने का फैसला किया है। 10/15/2014 में जेआरई 8u25 रिलीज के रूप में बग को ठीक किया गया है जो विंडोज एक्सपी स्थापना को रोका गया है।

हालांकि, इसका मतलब यह नहीं है कि ओरेकल विंडोज एक्सपी का समर्थन जारी रख रहा है। वे विंडोज एक्सपी के साथ संगत होने वाले जेआरई 8 की वर्तमान और भविष्य की रिलीज के बारे में कोई गारंटी नहीं देते हैं। ऐसा लगता है कि यह आपके जोखिम की तरह एक रन है।

ओरेकल ब्लॉग पोस्ट यहां देखें

आप ओरेकल डाउनलोड साइट से जेआरई 8u25 (या नवीनतम) प्राप्त कर सकते हैं।


ऐसा इसलिए होता है क्योंकि ओरेकल ने Windows XP के लिए समर्थन छोड़ दिया है (जिसमें RegDeleteKeyExA इंस्टॉलर द्वारा अपने ADVAPI32.DLL में उपयोग नहीं किया गया है) जैसा कि http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-July/009005.html में वर्णित है http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-July/009005.html । फिर भी जब एक्सपी के लिए आधिकारिक समर्थन समाप्त हो गया है, जावा बाइनरी अभी भी हैं (कम से कम जावा 8u20 ईए बी05 के रूप में) एक्सपी-संगत - केवल इंस्टॉलर नहीं है ...

इसके कारण, समाधान वास्तव में काफी आसान है:

  1. 7-ज़िप (या कोई अन्य गुणवत्ता संग्रहकर्ता) प्राप्त करें, वितरण .exe मैन्युअल रूप से अनपैक करें, इसमें इसके अंदर एक .zip फ़ाइल है ( tools.zip ), इसे निकालें,

  2. unpack200 से unpack200 का उपयोग सभी .pack फ़ाइलों को .jar फ़ाइलों में अनपैक करने के लिए करें (पुराने अनपैक ठीक से काम नहीं करेंगे); JAVA_HOME पर्यावरण परिवर्तक को आपके जावा अनपैक रूट पर सेट किया जाना चाहिए, उदाहरण के लिए "सी: \ प्रोग्राम फ़ाइलें \ जावा \ jdk8" - आप इसे उदाहरण के द्वारा स्पष्ट रूप से निर्दिष्ट कर सकते हैं

    SET JAVA_HOME=C:\Program Files\Java\jdk8
    
    • एक ही कमांड के साथ सभी फ़ाइलों को अनपैक करें (बैच फ़ाइल में):

      FOR /R %%f IN (*.pack) DO "%JAVA_HOME%\bin\unpack200.exe" -r -v "%%f" "%%~pf%%~nf.jar"
      
    • सभी फ़ाइलों को एक कमांड के साथ अनपैक करें (जेआरई रूट से कमांड लाइन):

      FOR /R %f IN (*.pack) DO "bin\unpack200.exe" -r -v "%f" "%~pf%~nf.jar"
      
    • मैन्युअल रूप से फ़ाइलों का पता लगाने और उन्हें एक-एक करके अनपॅक करके अनपैक करें:

      %JAVA_HOME%\bin\unpack200 -r packname.pack packname.jar
      

    जहां packname उदाहरण के लिए rt

  3. उस उपकरण को इंगित करें जिसका आप उपयोग करना चाहते हैं (जैसे Netbeans) %JAVA_HOME% और आप जाने के लिए अच्छे हैं।

नोट: आपको शायद अपने वेब ब्राउज़र में या किसी भी इसी कारण से जावा 8 का उपयोग करने के लिए ऐसा नहीं करना चाहिए (जेआरई 8 स्थापित करना दिमाग में आता है); प्रमुख जावा संस्करण रिलीज के शुरुआती अपडेट में सुरक्षा त्रुटियां (दिमाग मुझे) पौराणिक हैं , और इसमें शामिल नहीं है कि न तो एक्सपी और न ही जावा 8 के लिए कोई वास्तविक समर्थन केवल मामलों को और भी खराब बनाता है। उल्लेख नहीं है कि आपको आमतौर पर अपने ब्राउज़र में जावा की आवश्यकता नहीं है (उदाहरण के लिए http://nakedsecurity.sophos.com/2013/01/15/disable-java-browsers-homeland-security/ - विषय पहले से ही कई पर कवर किया गया है पेज, अगर आपको और जानकारी चाहिए तो बस Google इसे करें)। किसी भी मामले में, AFAIK जेआरई को इस प्रक्रिया को लागू करने के लिए आवश्यक एकमात्र चीज है \ bin \ to \ lib \ (ऊपर इंस्टॉलर निर्देशिका पेड़ में फ़ाइल प्लेसमेंट थोड़ा अलग है) से ऊपर निर्दिष्ट कुछ पथों को बदलना है - फिर भी मैं दृढ़ता से सलाह देता हूं ऐसा करने के खिलाफ।

यह भी देखें: मैं EXE या MSI इंस्टॉलर की बजाय ज़िप फ़ाइल के रूप में नवीनतम जेआरई / जेडीके कैसे प्राप्त कर सकता हूं? , जेआरई 1.7 रिटर्न: जावा / लैंग / नो क्लास डीफफाउंड एरर: जावा / लैंग / ऑब्जेक्ट


एक्सपी पर जेआरई 8 के साथ एक और तरीका है - पैकेज को तैनात करने के लिए एमएसआई का उपयोग करना।

  • समर्थित ओएस के साथ एक पीसी पर जेआरई 8 x86 स्थापित करें
  • कॉपी सी: \ उपयोगकर्ता [USER] \ AppData \ LocalLow \ Sun \ Java \ jre1.8.0 \ jre1.8.0.msi और डेटा 1.cab XP पीसी पर और jre1.8.0.msi चलाएं

या (चुप तरीका, बैच फ़ाइल आदि में प्रयोग योग्य ..)

for %%I in ("*.msi") do if exist "%%I" msiexec.exe /i %%I /qn EULA=0 SKIPLICENSE=1 PROG=0 ENDDIALOG=0




openjdk