Как отменить регистрацию COM-библиотек, изначально добавленных с помощью RegSvr32, если аргумент /u не работает?

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

Вопрос

Верно, изначально было написано:

c:\regsvr32 Amazing.dll

затем (случайно - я мог бы добавить) я должен был запустить его снова, и (действительно) снова, когда были выпущены новые версии «Amazing.dll».Да, я знаю сейчас Я должен был бежать:

c:\regsvr32 /u Amazing.dll

заранее - но эй!Я забыл.

Чтобы перейти к делу, при добавлении ссылки COM в VS я вижу 3 экземпляра «Amazing», все указывающие на одно и то же место (c:\Amazing.dll), работающие regsvr32 /u удаляет одну из ссылок, второй раз - ничего не делает...

Как мне избавиться от этих ссылок?Я смотрю на сценарий regedit?- Если да, то точно произойдет, если я удалю один из ключей???

Ваше здоровье

Это было полезно?

Решение

GUID вашего объекта не должен меняться.Другими словами, после регистрации COM-объекта повторная регистрация не должна приводить к добавлению в реестр чего-либо дополнительного.

Если только вы не добавили в проект дополнительные COM-интерфейсы или объекты.

В любом случае, если это разовая сделка (а так оно и есть), откройте regedit и удалите ненужные ключи вручную.

Другие советы

Есть инструмент от MS, который все еще существует со времен Win95, который сканирует реестр и делает такие вещи, как поиск ключей COM, которые больше не указывают на действительный файл и т. д., называется RegClean (я нашел его здесь: http://downloads.zdnet.com/abstract.aspx?assetid=881470&node=2094), который, как я видел, до сих пор используется в некоторых местах, особенно при работе с устаревшими компонентами COM в VB, которые генерируют новые GUID COM после каждой сборки.

Итак, если вы это получили, отмените регистрацию, удалите или переместите файл, запустите приложение, и оно удалит «осиротевшие» записи.

Если вы решите удалить ключи с помощью RegEdit, вам может потребоваться удалить идентификаторы классов, а также записи guid.

Раньше у меня были ужасные проблемы с COM.К сожалению, мне пришлось выбирать свой путь через реестр, удаляя каждую ссылку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top