gpt4 book ai didi

c++ - 寻找 "The specified module could not be found"的 dll

转载 作者:可可西里 更新时间:2023-11-01 09:21:02 25 4
gpt4 key购买 nike

<分区>

我有一个调用 C++ dll 的 32 位 .Net 应用程序 winform。我们将该应用程序打包到一个安装程序中,它在至少 20 台左右的机器上安装和运行良好。该应用程序最初是在 Win 7 x64 机器(我的)上开发并运行良好的。

但是,当我在老板桌面 (Win 7 x64) 上运行它时,应用程序将无法启动。哦是的...

当我尝试启动应用程序时,我得到一个 JIT 对话框

System.IO.FileNotFoundException: 找不到指定的模块。 (HRESULT 异常:0x8007007E)

当我运行依赖于 boss 机器上的 exe 时,它​​说应用程序 exe 是 x86 但所有依赖的 dll 都是 x64 并将其标记为错误。当我运行取决于我机器上的应用程序时,exe 和 dll 都标记为 x86。

这在机器之间如何变化?安装程序只是以正常方式解压缩和复制,并且在许多其他 x64 机器上工作正常......

当然,它只会在他的机器上坏掉,那是两个小时后我们即将举行的贸易展。叹。很迷茫...

=================解决了==================

所以我们修复了它。找到丢失的 dll 有点棘手。

首先我们搞砸了,我们运行了错误版本的depends对于 x64 框。因此它错误地报告该应用程序正在寻找 x64 dll。如果我们运行了正确的版本,我想我们会更快地发现问题。

为我们解决问题的是查看 Process Monitor 的日志来自系统内部。它记录每个文件访问和注册表读取。日志很快显示对 Direct X 11 dll 的读取失败。

事实证明,之前某个其他应用程序的安装程序已经安装了一些 DX11 dll。这愚弄了我们的安装程序,它跳过了 DirectX 11 步骤,因此我们缺少了一个 dll。

谢谢大家的帮助!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com