Regsvr32 не удается найти dll в текущей папке
когда я использую " regsvr32 foo.dll "я получаю" указанный модуль не может быть найти ошибки.
ошибка вызвана тем, что regsvr32 не может найти файл, даже если это текущая папка.
Я указал полный путь, и он по-прежнему не работают. Есть идеи????
2 ответов
это может произойти, если foo.dll
имеет depenency на bar.dll
и bar.dll
это не может быть найдено.
попробуйте использовать depends.exe
из MSVC для проверки зависимостей foo.dll
и посмотреть, если таковые отсутствуют.
другой вариант-загрузить и запустить Филимон. Затем запустите regsvr32
снова и посмотреть, какой файл / модуль он не может найти. Это определенно должно отследить его.
на 64-битных Осах Dependency Walker был неинформативным для меня; и FileMon
был заменен Process Monitor (см. https://docs.microsoft.com/en-us/sysinternals/downloads/procmon для загрузки утилиты). Вот как я смог найти недостающие ссылки, используя Process Monitor:
откройте диалоговое окно фильтр на панели инструментов или меню.
добавить Process Name
of regsvr32.exe
в список фильтров и удалить любой PID
фильтры.
очистить список ...
... включите захват, если он еще не включен.
запустить свой regsvr32.exe
команда из окна консоли. После завершения, вы можете переключить захват выключено.
ищите недостающую ссылку после regsvr32
загрузил вашу DLL.