我有一个32位的dll链接来自System32
而不是SysWOW64
的(我的)二进制文件。这个dll是 x86 C++
的Outlook add-in
项目的一部分,它应该链接到系统文件夹中的一些二进制文件,但是因为我在 64-位系统,我希望它能够在SysWOW64
中找到它们,而不是System32
。
我已经尝试在System32
中复制这些二进制文件的32位版本并且这样做有效,但它显然不是解决方案,并且会产生所有其他错误。
在哪里可以更改x86系统文件夹Visual Studio
的位置?
答案 0 :(得分:1)
在WOW64下运行的32位应用程序看到的是虚拟化环境,而不是真正的文件系统。
它只认为它与System32链接。它看作System32实际上是SysWOW64。
以类似的方式,它具有注册表和其他重要系统资源的虚拟化视图。
这是因为WOW64的目的是启用二进制兼容性。因此,应用程序看到的环境必须看起来好像在32位操作系统上运行。