VCL应用程序 - AxisMediaControl.dll动态链接文件位置

时间:2016-10-18 15:03:53

标签: dll c++builder c++builder-10-seattle procmon

我有一个用C ++ Builder 10.0 Seattle构建的VCL应用程序。它使用表单上的Axis Media Control来显示视频,因此它在运行时加载AxisMediaControl.dll文件。

过去,我已将其部署在32位目标计算机上,其中应用程序位于C:\Program Files\AppName目录中,AxisMediaControl.dll已安装到同一位置。一切都按预期工作。

此应用程序是32位应用程序,因此在部署到64位目标计算机时,它将安装在C:\Program File (x86)\AppName目录中。同样,AxisMediaControl.dll文件部署在应用程序目录中。

该应用无法启动,并显示错误“无法找到指定的模块”。使用Process Monitor,我发现程序正在较旧的Program Files目录而不是x86目录中查找Axis DLL。什么会导致应用程序在该位置查找DLL?

在我的开发机器上运行相同的二进制文件,应用程序从我的SysWOW64目录加载DLL。如果DLL放在目标计算机上,它仍然无法查找该位置。 ONLY 正在查看较旧的Program Files应用程序路径,这是我无法理解的。

我希望有人可以解释一下。

0 个答案:

没有答案