当 dll 位于 system32 中时,程序在我的系统上找不到 dll

Mik*_*son 3 windows dll path

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

奇怪的是:

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

  • 安装程序不分发 dll。

  • 我们的客户以及他们的客户安装并运行该软件就很好。

  • 我在同事的计算机上安装了该软件,并且运行得很好。他们唯一的 dll 实例位于 c:\windows\system32 中。

  • 我们的计算机都运行 Windows 7 64 位。

但它在我的电脑上不起作用。

为什么在所有计算机上以相同方式分发的软件无法在我的计算机上找到该 dll,而该 dll 正是它应该在的位置?

Mik*_*son 5

啊啊……卧槽。我在另一个论坛上的另一篇文章中读到 sysWOW64 适用于 32 位驱动程序,而 system32 适用于 64 位驱动程序。将驱动程序复制到 sysWOW64 中解决了该问题。

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

  • 即臭名昭著的 **sys**-“**WOW** 这是一个问题,我们应该把 32 位版本放在哪里?哦,我猜在标有 **64** 的目录中”搞砸了 (6认同)
  • 请注意,我通过将 64 位 dll 放入 WoW64 中而破坏了 Windows 系统。当他们命名这个文件夹时,他们吸食了什么毒品? (5认同)