unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法

转载 2012年03月26日 17:43:57

unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法

已有 5970 次阅读 2009-10-27 16:10 |个人分类:C#|系统分类:科研笔记

自己写的一个DLL(VC),然后用C#调用,在自己的机器上运行没有问题,放在其它机器(XP)上,就出现如标题所示的问题,换一台2003出现新的问题:找不到指定的模块(Exception from HRESULT:0X8007007E)。意思应该都差不多。上网搜索解决方法。

找到了这篇文章(http://hi.baidu.com/talksmiles/blog/item/6709d23423f7993e5bb5f5f2.html),上面说的很详细,分为一,二,三,四,这里摘抄如下:

------摘抄------

方法一:
在C:\Program Files\Microsoft Visual Studio 8\VC\redi
st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件:

msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest

把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。

其他release版,MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识!

方法二:
修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。

方法三:

工程-》属性-》配置属性-》常规-》MFC的使用,选择"在静态库中使用mfc"
这样生成的exe文件应该就可以在其他机器上跑了。

方法四:

你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装

------摘抄------

我觉得方法二、三比较简单,并且有印象以前在做FFPGATHER的时候,也遇到了同样的问题,就是按这个方法解决的问题。于是满怀信心的一通设置,编译链接,跑到2003下运行程序,发现问题依旧。

正想放弃,开始采用方法四的时候,一想自己基于OPENCV,是不是自己没有装OPENCV的原因,虽然我把cv, cxcore, highgui, cv100, cx100等dll和lib文件,已经放在了程序所在文件夹下。于是将OPENCV装在了2003上,运行程序,问题依然存在。于是百思不得其解。我用Depends(VS2005,2008相应文件夹下,如C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin有这个程序)进行查看(在没有OPENCV的情况下),发现少了两个DLL,IESHIMS.DLL及WER.DLL。于是去查这相关的文章,找到很多,按照一一尝试,都没能解决问题。

偶然情况下,重启了一下电脑,再运行程序,惊喜一切正常。为了确定,是否为OPENCV没有安装的问题,将OPENCV所在文件夹改名为OPENCV0,再次运行程序,则再次出现问题。于是确定是没有安装OPENCV的原因。

总结如下:

1、遇到这类问题,用方法二、三进行设置,并生成release版的程序,应该就可以了。

2、OPENCV安装完成,由于其设置了环境变量,需要重启机器,才能生效。

在解决这个问题过程中,搜索到其它一些有用的链接,表示感谢,如下:

http://www.cnblogs.com/kiddo/archive/2008/04/11/1148427.html


http://www.jschina.com.cn/gb/jschina/tech/17/userobject1ai1410564.html

http://blog.csdn.net/flyjimi/archive/2006/09/08/1194676.aspx
 

Unable to load dll的解决方法

前几天在做项目时,需要用到一个非托管的DLL库,使用.NET的互操作技术可以很方便的调用位于非托管DLL中的 函数。但是在执行时遇到了下面的错误:“Unable to load dll HRESUL...
  • zhangfeng510
  • zhangfeng510
  • 2012年05月11日 16:14
  • 18452

Unable to load DLL 'xxx.dll': 找不到指定的模块。 (Exception from HRESULT: 0x8007007E)

使用virtual studio编译生成dll给c#用,在本地使用ok,但到线上服务器就加载失败。 网上很多解释及方法,最终发现我的是以下问题: 1. 下载dependencywalker,查看制...
  • leiting_imecas
  • leiting_imecas
  • 2016年05月31日 17:14
  • 3971

Unable to load DLL 'SQLite.Interop.dll' 问题的解决方案

服务器上运行.NET程序报错: Unable to load DLL 'SQLite.Interop.dll' Framework环境都已经装好了,查询http://system.data.s...
  • jianzhanger
  • jianzhanger
  • 2015年03月03日 10:28
  • 2498

Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**":找不到指定的模块

在项目中使用C#代码调用C++ DLL时。常常会出现这个问题:在开发者自己的电脑上运行没有问题,但是部署到客户电脑上时会出现下面问题: Unhandled Exception:System.DllNo...
  • u012581999
  • u012581999
  • 2017年01月23日 20:51
  • 735

ASP.NET和Oracle连接问题的解决方法——Unable to load DLL (oci.dll)

不少人在做ASP.NET+Oracle开发的时候都会碰到连接问题,提示“Unable to load DLL (oci.dll)”,但这个文件在系统中是存在的,很多人为此焦头烂额,我看到很多的帖子都是...
  • heyixiang
  • heyixiang
  • 2005年08月09日 19:02
  • 5643

unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法

unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法 已有 5970 次阅读 2009-10-27 16:10 |个人分类:C#|系统分类:科研笔记 ...
  • xuehuic
  • xuehuic
  • 2012年03月26日 17:43
  • 7510

windows xp 不能load "System.Data.SQLite.dll"

1.安装Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) 2.安装.net framework 4.0 (x86) 3.注意编译程...
  • xiuye2015
  • xiuye2015
  • 2017年08月02日 15:50
  • 254

VS2005 安装文件 "由于应用程序配置不正确,应用程序未能启动"

最近用vc2005写了一个程序,拷贝到其它机器上运行时,提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”。觉得很奇怪,依赖的dll都有在,怎么会提示错误呢。马上上...
  • denglei265
  • denglei265
  • 2008年01月17日 17:59
  • 14437

解决“由于应用程序配置不正确,应用程序未能启动”的问题

        使用vc2005编写的程序,在运行时提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”。依赖的dll都有在,怎么会提示错误呢。         其实...
  • domisou
  • domisou
  • 2008年02月24日 15:28
  • 2062

dll文件加载失败

dll文件加载失败的原因之一是未能找到dll文件,其次,dll文件本身加载了其他dll,例如:提示a.dll文件加载不成功,可用dependency walker工具查看a.dll文件,若a.dll文...
  • woshisaoge
  • woshisaoge
  • 2013年06月27日 21:07
  • 454
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:unable to load dll(由于应用程序配置不正确,应用程序未能起动)问题解决方法
举报原因:
原因补充:

(最多只允许输入30个字)