2008-08-21 21 views
13

ठीक है, शुरू में भाग गया:जब आप/u arg काम नहीं करता है तो मैं RegSvr32 के साथ शुरू में COM dlls को अपंजीकृत कैसे करूं?

c:\regsvr32 Amazing.dll 

तो, (गलती से - मैं जोड़ सकते हैं) मैं इसे फिर से चलाने होगा, और (वास्तव में) फिर जब 'Amazing.dll' के नए संस्करण जारी किए गए। हाँ - मैं जानता हूँ कि अब मैं रन है चाहिए:

c:\regsvr32 /u Amazing.dll 

पहले से - लेकिन हे! मैं भूल गया।

पीछा करने के लिए कटौती करने के लिए, वीएस में COM संदर्भ जोड़ने पर, मैं 'अमेज़िंग' के 3 उदाहरण देख सकता हूं जो सभी एक ही स्थान (सी: \ Amazing.dll) पर इंगित करते हैं, regsvr32 /u चल रहे संदर्भों में से एक को हटा देता है, दूसरी बार - कुछ भी नहीं करता ...

मैं इन संदर्भों से कैसे छुटकारा पा सकता हूं? क्या मैं एक regedit परिदृश्य देख रहा हूँ? - यदि हां - तो बिल्कुल होता है यदि मैं कुंजियों में से एक को हटा देता हूं ???

चीयर्स

उत्तर

14

आपकी ऑब्जेक्ट की GUID को बदलना नहीं चाहिए। दूसरे शब्दों में, एक बार जब आप COM ऑब्जेक्ट पंजीकृत करते हैं, तो पुनः पंजीकरण करना रजिस्ट्री में अतिरिक्त कुछ भी नहीं जोड़ना चाहिए।

जब तक आप परियोजना में अतिरिक्त COM इंटरफेस या ऑब्जेक्ट्स नहीं जोड़ते।

किसी भी मामले में, यदि यह एक बार सौदा है (और ऐसा लगता है), regedit खोलें और मैन्युअल रूप से अनियंत्रित कुंजी हटाएं।

0

मैंने पहले कॉम के साथ एक भयानक गंदगी में अपने आप को मिल गया है। दुर्भाग्यवश, प्रत्येक संदर्भ को हटाने वाली रजिस्ट्री हालांकि मुझे अपना रास्ता चुनना पड़ा।

4

एमएस द्वारा एक उपकरण है जो अभी भी चारों ओर तैर रहा है और रजिस्ट्री स्कैन करता है और रजिस्ट्री स्कैन करता है जैसे सामानों को स्कैन करता है जो एक वैध फ़ाइल पर इंगित नहीं कर रहे हैं आदि जिसे RegClean कहा जाता है (मैंने इसे यहां पाया: http://downloads.zdnet.com/abstract.aspx?assetid=881470&node=2094) जो मैंने कुछ स्थानों को अभी भी देखा है, खासकर जब वीबी में विरासत COM सामान के साथ गड़बड़ कर रहे हैं जो हर निर्माण के बाद नए COM GUID उत्पन्न कर रहे हैं।

तो अगर आपको वह मिला, तो अनगिनत और हटा दिया गया या फ़ाइल ले जाया गया, ऐप चलाएं और यह "अनाथ" प्रविष्टियों को साफ़ कर देगा।

यदि आप RegEdit का उपयोग करके कुंजी को हटाने का निर्णय लेते हैं, तो आपको कक्षा आईडी के साथ-साथ guid प्रविष्टियों को हटाने की आवश्यकता हो सकती है।