मुझे DLLs को रिइग्रेट करने की आवश्यकता क्यों है?


2

मैंने हाल ही में एक विभाजन के साथ क्लोन किया विंडोज 7 इस पर। उम्मीद है कि यह ठीक काम करेगा, मैंने इसे सफलतापूर्वक बूट किया और इसे चलाने में सक्षम था सिवाय इसके कि मुझे कुछ ऐसा मिला " इंटरफ़ेस समर्थित नहीं है "जब कुछ एप्लिकेशन चल रहे हों और नेट कुछ कार्यक्रमों में लापता होने की सूचना मिली थी।

मैंने गुगली की और पाया कि इसका कुछ लेना देना है " DLL का पंजीकरण "। तो, मेरा सवाल है - जब मैंने अपनी हार्ड डिस्क पर विभाजन को क्लोन किया था, तो इसकी एक सही प्रतिलिपि नहीं बनाई गई थी। यदि ऐसा है तो मुझे 'DLL के फिर से पंजीकरण' करने की आवश्यकता क्यों है। यदि नहीं, तो समझाएं।


क्या ड्राइव (यानी सिस्टम विभाजन) अक्षर बदल गया?
Karan

@ करन हां, क्या कुछ करना है?
Sharad Gautam

@ केरन LOL, जिसमें explorer.exe शामिल था
Sharad Gautam

इसलिए, यदि मैंने इसे एक ही ड्राइव अक्षर के साथ एक नए विभाजन पर क्लोन किया है। यह DLLs को फिर से संगठित करने की आवश्यकता के बिना काम किया होगा?
Sharad Gautam

@ करन मुझे लगता है कि यह कुछ डीएलएल था। रैगरिस्टरिंग के बाद, एक्सप्लोरर ठीक काम करता है।
Sharad Gautam

जवाबों:


2

जब क्लोनिंग प्रक्रिया के बाद सिस्टम विभाजन का ड्राइव अक्षर बदलता है, तो डीएलएल और अन्य फ़ाइलों के लिए हार्ड-कोडेड पथों पर भरोसा करने वाला कोई भी ऐप स्वाभाविक रूप से टूट जाएगा। GetWindowsDirectory (), SHGetKnownFolderPath (), SHGetSpecialFolderPath (), Environment.GetFolderPath () इत्यादि जैसे API हैं जिनका प्रोग्रामर को कभी-कभी उपयोग नहीं करना चाहिए।

इसके अलावा, ऐसे एप्स जो लाइसेंसिंग / पाइरेसी की रोकथाम के कारणों के लिए उस वॉल्यूम के GUID को स्टोर करते हैं, जो उनके द्वारा स्थापित किए गए हैं, वे भी टूट सकते हैं। यदि संभव हो तो ऐप को फिर से पंजीकृत करने के अलावा ऐसे मामलों में कोई आसान सुधार नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.