В проекте, над которым я работаю, есть куча COM-DLL.Как я могу увидеть версию COM DLL, зарегистрированную в Windows
Существует сценарий установки, который автоматически регистрирует эти DLL для использования в другом проекте. В последнее время в коде есть ошибка, из-за которой программа отключается необъяснимо. Bisect не решила проблему (старый код, который, как было известно, теперь работает с одним и тем же симптомом)
Я подозреваю, что сценарий удаления не отменил регистрацию всего или что-то подобное с рабочей средой, и я не имеют запасной, чистой машины, чтобы проверить мою теорию. Есть ли способ узнать, что такое DLL, зарегистрированная в Windows, например, их имена, версия, GUID и т. Д.?
У вас есть доступ к скрипту? Проверьте скрипт и посмотрите, какие DLL зарегистрированы и с какого пути (например, RegSvr32 ... Name.DLL), перед регистрацией он должен выполнить незарегистрированный (RegSvr32 -u). После проверки в regedit в пути HKEY_CLASSES_ROOT \ CLSID \ по имени DLL и проверьте, правильно ли был зарегистрирован путь, там вы найдете CLSID и сможете искать весь регистр по CLSID, чтобы просмотреть используемую версию, модель потоковой передачи и т. Д. – ALZ
У меня нет скрипта (в любом случае, не в читаемой форме), но трюк regedit работает. Благодаря! –
пойдите в физическое местоположение по пути, указанному в реестре, и проверьте версию свойств DLL-файла. Если у вас есть другая версия и вы хотите использовать ее, необходимо зарегистрировать (RegSvr32 -u [DLL Path]) и заменить DLL-файл и перерегистрировать его (RegSvr32 [DLL Path]) – ALZ