Можно ли зарегистрировать на компьютере больше, чем .DLL с тем же именем? - PullRequest
1 голос
/ 14 сентября 2010

Может ли на машине быть зарегистрировано более .DLL с одинаковым именем?

Например.Если у меня есть MyDLL.dll в c: \ и c: \ MyDLLs, можно ли зарегистрировать оба файла MyDLL.dll?Если я это сделаю, какой MyDLL.dll будет использоваться, если приложение попытается получить доступ к MyDLL.dll?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2010

Скорее всего, ваш вопрос относительно DLL, которая реализует компонент COM. На самом деле он использует GUID (глобально уникальный идентификатор), который он ищет в реестре в hkey_classes_root / clsid, и в подключах есть схема для указания на физическое местоположение.

Чтобы начать понимать это, откройте regedit и выполните команду control -f, чтобы найти полный путь к обеим DLL-библиотекам - вы точно поймете, о чем я говорю.

0 голосов
/ 14 сентября 2010

(Источник: http://www.codenewsgroups.net/vb/t2754-dll-hell-query.aspx)

Если у них одинаковое имя файла, они не могут сосуществовать в одном и том же каталоге. Один из них должен быть переименован или перемещен. Если это библиотеки ActiveX, тогдаимя файла менее важно, чем связанный ProgID / ClsID, используемый для регистрации, за исключением того, что переименование может расстроить последующую деинсталляцию или переустановку программного обеспечения от этого поставщика.

При условии, что у них разные ProgID и ClsID.тогда не должно быть проблем с их регистрацией. Но если вы можете попытаться избежать этого .

PS Проверьте ссылку выше для некоторого хорошего понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...