كيف يمكنني إلغاء تسجيل COM dll في البداية وأضاف مع RegSvr32 عندما /u arg لا يعمل ؟

StackOverflow https://stackoverflow.com/questions/19725

سؤال

صحيح في البداية ركض:

c:\regsvr32 Amazing.dll

ثم (عن طريق الخطأ - يمكن إضافة) يجب أن يكون تشغيله مرة أخرى (في الواقع) مرة أخرى عندما إصدارات جديدة من 'Amazing.dll' تم إصدارها.نعم أعلم الآن كان يجب أن تشغيل:

c:\regsvr32 /u Amazing.dll

مسبقا - ولكن مهلا!لقد نسيت.

إلى قطع لمطاردة عند إضافة COM الإشارة في مقابل ، أستطيع أن أرى 3 حالات 'مذهلة' كل لافتا إلى نفس الموقع (c:\Amazing.dll), تشغيل regsvr32 /u يزيل أحد المراجع ، للمرة الثانية - لا يفعل شيئا...

كيف يمكنني التخلص من هذه المراجع ؟ أنا أبحث في regedit السيناريو ؟ - إذا كان الأمر كذلك ماذا بالضبط يحدث إذا قمت بحذف أحد مفاتيح???

هتافات

هل كانت مفيدة؟

المحلول

وجوه الخاص بك GUID لا ينبغي أن يتغير.وبعبارة أخرى, بمجرد تسجيل كائن COM, إعادة التسجيل لا يمكن إضافة أي شيء إضافي إلى التسجيل.

إلا إذا كنت وأضاف إضافية واجهات COM أو الكائنات المشروع.

في أي حال, إذا كان هذا هو صفقة لمرة واحدة (و يبدو أنه هو), فتح regedit ثم حذف غير الضرورية المفاتيح يدويا.

نصائح أخرى

هناك أداة من السيدة التي لا تزال تطوف منذ Win95 الأيام التي يقوم بفحص السجل و لا الاشياء مثل يجد COM المفاتيح التي ليست لافتا في ملف صالح بعد الآن وما يسمى RegClean (وجدته هنا: http://downloads.zdnet.com/abstract.aspx?assetid=881470&node=2094) التي رأيت بعض الأماكن لا تزال تستخدم وخاصة عند العبث مع إرث COM الاشياء في VB والتي يتم توليد جديدة COM Guid بعد كل بناء.

حتى إذا كنت حصلت على هذا ، unreg ثم جرى حذف أو نقل ملف تشغيل التطبيق فإنه سيتم تنظيف "المعزول" الإدخالات.

إذا كنت ترغب في إزالة مفاتيح باستخدام RegEdit, قد تحتاج إلى إزالة الطبقة معرفات وكذلك guid الإدخالات.

لقد وضعت نفسي في فوضى رهيبة مع كوم من قبل.كان علي أن أختار طريقي على الرغم من التسجيل حذف كل إشارة ، لسوء الحظ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top