Как отменить регистрацию 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? - Если так-что ровно происходит, если я удаляю один из ключей???
Ура
3 ответов
GUID вашего объекта не должен меняться. Другими словами, после регистрации COM-объекта повторная регистрация не должна добавлять ничего дополнительного в реестр.
Если вы не добавили дополнительные com-интерфейсы или объекты в проект.
в любом случае, если это одноразовая сделка (и похоже, что это так), откройте regedit и удалите ненужные ключи вручную.
есть утилита от MS, которая до сих пор плавают вокруг и с с Win95 дней, который сканирует реестр и делает такие вещи, как ком находит ключи, которые не указывают на действительный файл больше и т. д. под названием regclean (я нашел его здесь: http://downloads.zdnet.com/abstract.aspx?assetid=881470&node=2094), которые я видел кое-где еще используют особенно когда возиться с устаревшими к COM на VB, которые генерируют новое com идентификаторы GUID после каждой сборки.
Так что если у вас что, тогда unreg бы и файл был удален или перемещен, запустите приложение и оно будет вычистить "потерянных" записей.
Если вы решите удалить ключи с помощью RegEdit, вам может потребоваться удалить идентификаторы классов, а также записи guid.
Я попал в ужасный беспорядок с COM раньше. К сожалению, мне пришлось выбирать свой путь, хотя реестр удалял каждую ссылку.