我有一个32位.Net应用程序winform调用一个C + + DLL。 我们将应用程序打包成一个安装程序,它至less安装了20台左右的机器并运行良好。 该应用程序最初开发,运行良好的Win 7 x64机器(我的)。
但是,当我在我的老板桌面上运行它(Win 7 x64)的应用程序将不会启动。 哦耶…
当我尝试启动应用程序时,我得到一个JIT对话框
System.IO.fileNotFoundException:指定的模块找不到。 (从HRESulTexception:0x8007007E)
死亡后可能导致进程泄漏内存?
在compmgmt.msc中显示的文件监视文件上的windows #locks
ShowDialog问题,同时打开表单
对于windows窗体,PostMessage等于自己的什么?
Visual Studio图标的含义
当我运行依赖于老板机上的EXE它说,应用程序EXE是x86,但所有相关的DLL在X64并将其标记为错误。 当我运行取决于我的机器上的应用程序的exe和DLL都标记为x86。
机器之间如何改变? 安装程序只是以正常的方式解压缩和复制,并可以在大量其他x64机器上正常工作。
自然,只有在两个小时的时间里,他的机器才能打破,我们还有一个贸易展。 叹。 很困惑…
=================解决==================
所以我们修好了 发现缺less的DLL有点棘手。
首先我们搞错了,我们运行了一个x64盒子的错误版本。 所以这是不正确的报告,该应用程序正在寻找x64 dll。 如果我们已经运行了正确的版本,我想我们会早一点发现问题的。
对于我们来说,解决的办法是查看系统内部进程监视器的日志。 它logging每个文件访问和registry读取。 该日志很快显示了一个Direct X 11的DLL读取失败。
事实certificate,从其他一些应用程序以前的安装程序已经安装了一些 DX11的DLL。 这骗了我们的安装程序,它跳过了DirectX 11步骤,所以我们有一个失踪的DLL。
谢谢你的帮助!
是否有任何技巧来计算文本文件中的行数?
Registry.SetValue不适用于x86
我在哪里可以findsql Server版本的友好的string?
如何在MS windows上加载GTK Sharp主题
WPF模式窗口作为WinForms中的工具窗口消失
这是一个简单的“找不到文件”类错误,但是有一个非常尴尬的行为,它不会告诉你哪个 DLL找不到。 这可能是C ++ DLL,也可能是任何隐含的DLL依赖关系。 像运行时支持DLL一样,通常会错过,您可以使用vcredist安装程序来部署它们。 或者部署该DLL的调试版本,这是行不通的。
获得一个体面的诊断需要打开装载机捕捉和调试器。 在没有安装工具的机器上总是很难做到这一点。 SysInternals的ProcMon实用程序是一个很好的选择,你会看到程序搜索DLL。 尽管你会淹死它产生的跟踪数据量。 从追踪的底部开始工作。
总结以上是内存溢出为你收集整理的find“指定的模块找不到”全部内容,希望文章能够帮你解决find“指定的模块找不到”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)