首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序未找到SysWOW64中的dlls

应用程序未找到SysWOW64中的dlls
EN

Stack Overflow用户
提问于 2012-05-23 23:47:00
回答 2查看 2.5K关注 0票数 1

我正在开发一个C#/WPF应用程序,它可以使用一些自定义的32位dll与USB设备进行对话。它是作为一个x86应用程序开发的,并与WIX一起安装。当我在64位计算机上安装程序包时,程序文件会像我预期的那样安装到program files (x86)。

使用WIX将dlls安装到SystemFolder。在32位计算机上,这意味着C:\Windows\System32。在64位操作系统上,它们最终位于C:\Windows\SysWOW64。这是可以的,但当我运行我的应用程序时,它无法找到dlls (它通过DllImport使用它们...)。

那么,让我的应用程序找到dlls的正确方法是什么,无论它们是在System32中还是在SysWOW64中?

谢谢汤姆

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-24 17:12:38

如果它是默认的C#应用程序,它将自动成为64位Windows上的64位应用程序( 32位Windows上的C3默认为32位)。进入您的开发应用程序中的项目属性,并显式地将体系结构(我想;我现在没有Studio )设置为32位。如果它作为64位应用程序运行,它将无法使用你的32位DLL。

票数 1
EN

Stack Overflow用户

发布于 2020-01-06 19:35:33

请检查应用程序中的动态链接库是否与sys32或wow64文件夹中的版本相同,具体取决于您的windows版本。

您可以从dll的文件大小中进行检查。

我遇到这个问题是因为我在system32中的libeay.dll文件与我在openssl应用程序中的libeay.dll文件具有不同的dll。我将sys32中的文件复制到openssl中,一切工作正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10723511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档