在依赖DLL的Windows 7上运行32位应用程序

我有一个简单的32位应用程序正在运行。 它使用Qt和其他库。 已经弄清楚清单,我有一个文件夹包含应用程序,清单和依赖的DLL。 在Windows 7 64位直接从USB棒运行在目标机器上工作。 将其复制到D:\驱动器上的一个文件夹,它就可以工作。

复制到Program files (x86)下的一个文件夹,我得到:

R6034。 一个应用程序已经尝试错误地加载C运行时库。

我有我的可执行文件的清单。 我也有该文件夹中的msvc*.dll清单,如本论坛其他地方所build议的。 那么,为什么这个工作除了应该在的地方以外都可以工作?

Dependency Walker将在这里帮助 – 在你的.exe文件处于工作状态时运行它,当它不在时,并比较你的应用程序尝试使用的C运行时库的位置(我相信它应该是msvcrt.dll,如果你是在发布时, msvcrtd.dll如果你不是),你会希望能够发现一个区别。

我不知道你可以从那里去 – 也许将正确版本的DLL部署到您的.exe相同的文件夹?