Приложение VCL - расположение файла динамической ссылки AxisMediaControl.dll
У меня есть приложение VCL, встроенное в C++Builder 10.0 Seattle. Он использует Axis Media Control в форме для отображения видео, поэтому он загружает AxisMediaControl.dll
файл, когда он работает.
В прошлом это было развернуто на 32-битной целевой машине, где приложение находилось в C:\Program Files\AppName
каталог, а AxisMediaControl.dll
был установлен в этом же месте. Все заработало как положено.
Это приложение является 32-разрядным приложением, поэтому при развертывании на 64-разрядной целевой машине оно устанавливается в C:\Program File (x86)\AppName
каталог. Еще раз, AxisMediaControl.dll
Файл развернут в каталоге приложения.
Приложение не запускается с ошибкой "Указанный модуль не найден". Используя Process Monitor, я обнаружил, что программа ищет Axis DLL в старых Program Files
каталог вместо x86
реж. Что заставит приложение искать DLL в этом месте?
Запуск того же двоичного файла на моем компьютере разработчика, приложение загружает DLL из моего SysWOW64
каталог. Если DLL находится там на целевой машине, она по-прежнему не может найти в этом месте. ТОЛЬКО в старшем Program Files
путь приложения, который я не могу понять.
Я надеюсь, что кто-то может пролить свет.