32位应用程序链接System32二进制文件而不是SysWOW64

时间:2016-05-17 11:50:10

标签: c++ visual-studio-2012

我有一个32位的dll链接来自System32而不是SysWOW64的(我的)二进制文件。这个dll是 x86 C++ Outlook add-in项目的一部分,它应该链接到系统文件夹中的一些二进制文件,但是因为我在 64-位系统,我希望它能够在SysWOW64中找到它们,而不是System32

我已经尝试在System32中复制这些二进制文件的32位版本并且这样做有效,但它显然不是解决方案,并且会产生所有其他错误。

在哪里可以更改x86系统文件夹Visual Studio的位置?

1 个答案:

答案 0 :(得分:1)

在WOW64下运行的32位应用程序看到的是虚拟化环境,而不是真正的文件系统。

它只认为它与System32链接。它看作System32实际上是SysWOW64。

以类似的方式,它具有注册表和其他重要系统资源的虚拟化视图。

这是因为WOW64的目的是启用二进制兼容性。因此,应用程序看到的环境必须看起来好像在32位操作系统上运行。