c #dll #registry
#c #dll #реестр
Вопрос:
в Excel-VBA я запрограммировал небольшой интерфейс планирования производства, который вызывает оболочку (dll, запрограммированную на C , Visual Studio 2022), которая, в свою очередь, вызывает Autonester-x64.dll (коммерческий решатель для оптимальной формы гнезд). На двух компьютерах с Windows 10 это работает нормально. На третьем компьютере, который используется в производстве, он не работает: (1) Программа excel VBA выдает ошибку «Файл не найден» (2) Если я попытаюсь зарегистрировать wrapper.dll , это вызывает следующую ошибку:
сообщение об ошибке от regsvr32
Конечно, в отношении (1) я тщательно проверил расположение файлов примерно 10 раз, так что это не может быть причиной. Затем я подумал, давайте избавимся от проблемы, зарегистрировав dll — но безуспешно. Это так глупо, но у меня больше нет идей, что я мог бы попытаться решить… Любая помощь приветствуется!
Комментарии:
1. Пожалуйста, отправьте сообщение об ошибке в виде форматированного текста, чтобы его могли использовать поисковые системы и видеть те, кто не может загружать изображения.
Ответ №1:
Это сообщение от загрузчика DLL Windows является бесполезным мусором. Я бы сначала проверил версию Office (x32 или x64).
Взгляните на класс DllManager VBA. Может быть, это поможет. Я использую его для загрузки DLL-файлов в Windows 10 из папки пользователя без какой-либо регистрации. Он также выполняет несколько базовых проверок и может выдать более полезное сообщение об ошибке.
Комментарии:
1. Я нашел проблему: путь к autonester.dll (вызванный wrapper.dll ), необходимо было включить в переменную среды path. Это решило это странное поведение.