`
dazhilao
  • 浏览: 247184 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

VC2005程序的一个运行错误“由于应用程序的配置不正确,应用程序未能启动,重新安装...

阅读更多
VC.net2005写的程序如何在没有.Net FrameWork的机器上运行 --解决"由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题"
最近在公司的主要工作是做一个桌面程序,提供给公司正在为移动做的项目使用.我开始时是用C#写的程序,后来,公司要求,不安装.net framwork 2.0, 要求我改成C++的.所以后来改成VC2005和程序.原来以为可以不用安装,附带几个DLL库就可以运行程序了,哪知道,开始时,在别的电脑上都不能运行,一运行就报错,在XP如的错误如下图:

图片上传不能直接显示啊。。。

在2000上也会报错,不过,他会提示:因为少了XXX DLL,程序无法启动,于是我找到所以提示缺少的DLL放到程序目录下,2000下就可以运行了.可是在XP上还是不行,还是会报上面那个错误,我猜肯定是少了哪个DLL,可是找不出来,同事们也用了好多方法帮我找程序用到的DLL,也用到了不少的好工具,也找出了好多DLL,这些DLL加到一起,有10几M那么多(如下图).可是XP下还是不行.看来找DLL是没办法了.到网上找找办法吧.
到百度里输入"由于应用程序的配置不正确",搜索一下,嘿嘿,还真不少,都是和我一样,VC2005写的程序,在2000下可以用,在XP,2003下不行,不过发现,都是有人问,没人回答,可怜的人啊,咋就和我一样不幸呢.继续找啊找啊,找到了,找到一个人,提供了三个方法,摘下来,如下:

最近在VS2005下用C++写了一个Console程序,在一台未安装VS2005上运行,显示:
"系统无法执行指定的程序"
原来用VC6和VS2003的话,是会提示缺少"**.dll",但是用VS2005却没有这样的提示。
用命令行方式运行,提示:
"系统无法执行指定的程序"
直接双击运行,提示:
"由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题"
自己实验了一下,感觉以下两种解决办法是比较方便的:
方法一:
在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和你的程序捆绑安装

我逐一测试下来,直到第三个方法才成功.第二个方法不知道在哪里修改编译选项所以放弃了,第四个方法不喜欢,这跟直接安装.net framework 2.0 有什么区别吗?还不如直接安装.net framework 2.0 呢.
使用第三种方法,编译后,程序的文件会变大好多,因为其已经将使用到的DLL库静态编译到了程序里了.我这个程序原来的大小
分享到:
评论

相关推荐

    -由于应用程序配置不正确-的解决办法.docx

    应用程序配置不正确是指在开启某些程序(如 PS、Snagit 等)时,出现“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”的错误提示。这种错误的原因主要有两个:一是 Windows...

    安装vc运行库Error1935解决办法

    在Windows 7操作系统环境下,不少用户在安装某些基于Visual C++(简称VC)的应用程序时,会遇到一个常见的错误——Error 1935。这个错误通常伴随着一段较长的技术信息,其中包含了出错的组件、版本号以及公共密钥...

    vs2003运行时,出现.pdb文件错误。

    1. **程序无法启动**:尝试启动调试模式下的应用程序时,IDE会提示找不到对应的.pdb文件或.pdb文件损坏。 2. **调试中断**:在调试过程中,可能会突然出现IDE提示.pdb文件无效的信息,导致调试过程被迫中断。 3. **...

    BoundsCheckerV6.5 for VC

    BoundsChecker V6.5 for VC 是一款专为Visual C++开发者设计的强大运行时错误检测与调试工具。在软件开发过程中,尤其是C++...总的来说,BoundsChecker V6.5 for VC是开发高效、稳定的C++应用程序不可或缺的辅助工具。

    VC6.0调试技巧(Free),自己整理

    8. **源代码级别的调试**:确保你的项目配置正确关联了源代码文件和调试信息,这样在调试时可以直接跳转到出问题的源代码行,而不仅仅是看到汇编代码。 9. **多线程调试**:VC6.0也支持多线程程序的调试。在“调试...

    VC++6.0核心编程源码.rar

    如果我在我编写的应用程序中发现一个错误,我可能想要向用户显示该错误的文本描述。Windows提供了一个函数,可以将错误代码转换成它的文本描述。该函数称为FormatMessage。请看下面的代码: 见原书P8的程序(1) ...

    操作系统实验报告 实验一 WINDOWS进程初识

    - **运行结果**:如果程序未能成功运行,可能原因包括但不限于:代码错误、编译配置问题、文件路径不正确等。 2. **计算进程在核心态运行和用户态运行的时间**: - **步骤1**:按照上述步骤创建新的控制台应用...

    GbmmTest (VC)中文说明书

    例如,错误代码“01”提示未检测到钞箱#1,意味着在要求送钞时未能在设备主体内找到该钞箱,此时需检查钞箱是否正确安装或连接。类似地,“0A”代表GS11OFF传感器检测到错误,指示可能的传感器损坏或信号干扰,需要...

Global site tag (gtag.js) - Google Analytics