Как определить, какая DLL зарегистрирована?
У пользователия могут оставаться файлы программы предыдущих версий. Как определить, что зарегистрирована DLL, скажем, из соседней папки, а не DLL из папки с текущей версией программы?
Модератор: gaidar
FaKk2 писал(а):Nicky
Вот из-за таких и возник DLL HELL.
Это была главная мысльNicky писал(а):Зачем определять?
Смайл видишь?Nicky писал(а):Регистрируй "поверх" - и все
brigval писал(а):Как определить, какая DLL зарегистрирована?
Nicky писал(а):Зачем определять? Регистрируй "поверх" - и все
Antonariy писал(а):Лучше сначала разрегистрируй старую на случай несовместимости с новой.
brigval писал(а):Не всегда регистрирутся. Собственно, по этому и возник вопрос
brigval писал(а):Andrey Fedorov, а GUID как можно узнать?
brigval писал(а):Для этого надо знать путь к старой DLL, который, в общем случае, не известен.
Antonariy писал(а):Допустим есть progid MyLib.MyClass. Узнаем его CLSID из ветки HKEY_CLASSES_ROOT\MyLib.MyClass\Clsid, а на основании этого значения получаем путь к файлу - HKEY_CLASSES_ROOT\CLSID\{found clsid}\InprocServer32
И вся любовь.
Antonariy писал(а):Нет
Обязательно перед удалением библиотеки.
Вернуться в Раздел для Профессионалов
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5