Windows 程序可以';当dll在system32中时,在我的系统上找不到dll

Windows 程序可以';当dll在system32中时,在我的系统上找不到dll,windows,dll,path,Windows,Dll,Path,我编写了一个需要cbw32.dll的应用程序。在我的计算机上,dll位于c:\windows\system32中,c:\windows\system32位于路径上 奇怪的是: 这个应用程序有一个安装程序,我用它在自己的计算机上安装应用程序 安装程序不分发dll 我们的客户,以及他们的客户,安装并运行这个软件很好 我在一位同事的电脑上安装了这个软件,效果很好。他们唯一的dll实例是在他们的c:\windows\system32中 我们的电脑都运行64位Windows 7 但它在我的电脑上不工作

我编写了一个需要cbw32.dll的应用程序。在我的计算机上,dll位于c:\windows\system32中,c:\windows\system32位于路径上

奇怪的是:

  • 这个应用程序有一个安装程序,我用它在自己的计算机上安装应用程序

  • 安装程序不分发dll

  • 我们的客户,以及他们的客户,安装并运行这个软件很好

  • 我在一位同事的电脑上安装了这个软件,效果很好。他们唯一的dll实例是在他们的c:\windows\system32中

  • 我们的电脑都运行64位Windows 7

但它在我的电脑上不工作


为什么在所有计算机中分布相同的软件无法在我的计算机上找到dll,而dll正好位于它应该位于的位置?

啊哈。。。世界跆拳道联盟。我在另一个论坛的另一篇帖子上读到,sysWOW64用于32位驱动程序,而system32用于64位驱动程序。将驱动程序复制到sysWOW64修复了该问题


不确定为什么每个人(除了我)在两个dll目录中都有一个副本。

dll的版本是否完全相同?另外,试着把它放在可执行文件(程序exe)旁边,因为它也应该在那里。另一件事,你的计算机和其他所有的计算机是同一个体系结构(如64/32位)吗?DLL都是同一个版本。当然,将它放在可执行文件旁边解决了问题,但我们需要找到问题的根本原因,以确定我们是否会在分发方面遇到问题。此外,我们希望不必分发dll,这样,如果dll得到改进,我们就可以从软件中获得好处。臭名昭著的sys——“哇,这是个问题,我们应该把32位版本放在哪里?哦,我猜在标有64”的目录中,我在WoW64中放了64位DLL,破坏了windows系统。当他们命名这个文件夹时,他们吸了什么药?