使用VS2010构建的可执行文件在System32中找不到DLL

时间:2015-12-02 13:55:12

标签: c windows visual-studio-2010 dll

我最近在VisualStudio上构建了一个项目。我在bin文件夹中获得了一个可执行文件,并将所有依赖项x64 DLL放在C:\Windows\System32中,并将所有x32 DLL放在C:\Windows\SysWOW64

执行可执行文件时,收到错误消息This program can't start because foo.dll is missing from your computer

我尝试在Cygwin上使用ldd.exe获取依赖项,但我没有看到对foo.dll的任何引用。我也尝试从PowerShell Start-Process -PassThru sample.exe执行,但我仍然得到相同的错误消息。

Windows可执行文件在哪里查找DLL?

我已经读过Windows可执行文件将按特定顺序查找其依赖项:

  • 在本地文件夹
  • 在System32
  • 在%PATH%

我还读到如果它位于System32中,我可能需要使用regsvr32.exe来注册我的DLL。

这个故事的实际情况是什么?

1 个答案:

答案 0 :(得分:0)

或者,您也可以简单地将DLL文件添加到bin文件夹中。