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

Справа, изначально побежал:

c:\regsvr32 Amazing.dll

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

c:\regsvr32 /u Amazing.dll

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

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

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

Приветствия

Ответы

Ответ 1

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

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

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

Ответ 2

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

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

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

Ответ 3

Я уже попал в ужасный беспорядок с COM. Я должен был выбрать свой путь, хотя реестр удаляет каждую ссылку, к сожалению.