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


13

Право, первоначально побежал:

c:\regsvr32 Amazing.dll 

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

c:\regsvr32 /u Amazing.dll 

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

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

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

Приветствие

14

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

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

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


0

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


4

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

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

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