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库静态编译到了程序里了.我这个程序原来的大小
分享到:
相关推荐
[VS2005]解决“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题” 今天在准备发布用VS2005写的那个程序时,拷贝到我同事机器上,双击突然出现了“由于应用程序的配置不正确,...
标题中的“vc2005运行库,vc2008运行库,“无法启动,并行设置不正确””指的是在尝试运行某些基于Microsoft Visual C++编译器开发的应用程序时,用户遇到了“无法启动,并行设置不正确”的错误。这个问题通常与...
当你遇到“由于应用程序配置不正确,程序无法启动”这样的错误时,很可能是因为缺少了VC8运行库。这个“vc8运行库安装程序.rar”压缩包就是为了解决这类问题而提供的。 安装程序“vc8运行库安装程序.exe”通常包含...
为了解决这个问题,开发者需要安装相应的 redistributable 包或者重新安装Visual Studio 2005的完整版本,以确保所有必要的库和组件都已到位,从而能够成功编译、链接和运行程序。 总结来说,这些组件是针对Visual ...
描述中的“开发有时需要一些Debug的DLL,否则无法打开”揭示了在某些情况下,如果目标机器上没有安装相应的调试DLL,调试版的应用程序可能无法正常运行或启动。这些DLL文件通常是vc80.debugCRT.dll、msvcr80d.dll等...
然而,如果在另一台没有安装VS2008的计算机上尝试运行这个程序,可能会遇到“找不到msvcr90.dll”之类的错误,因为缺少了必要的运行时库。 描述中提到的解决方案是,将“microsoft.vc90.debugCRT”这个文件夹(通常...
总的来说,这个“每日提醒程序定时启动应用程序运行环境VC”的组合涉及到了程序自动化、定时任务调度、Windows编程接口以及依赖库的管理等多个IT知识点。了解这些概念有助于理解如何构建类似的应用程序,以及解决...
"Microsoft.VC90.DebugCRT (x86)" 是一个重要的软件组件,主要针对32位(x86)系统,用于开发和调试基于Microsoft Visual C++ 9.0(也称为VC9或Visual Studio 2008)的应用程序。这个组件包含了调试版本的C运行时库...
"Microsoft.VC90.CRT"是Microsoft Visual C++ 2005 Redistributable Package的一部分,它包含了C运行时库(CRT),这是许多使用C或C++编程语言编写的Windows应用程序运行的基础。"msvcm90.dll"、"msvcp90.dll"和...
在IT行业中,有时我们需要确保特定的应用程序或进程只能在计算机上运行一个实例,避免多个副本同时运行导致资源冲突或不期望的行为。对于开发者来说,这是一个常见的需求,特别是在编写客户端应用程序时,为了保持...
应用程序配置不正确是指在开启某些程序(如 PS、Snagit 等)时,出现“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”的错误提示。这种错误的原因主要有两个:一是 Windows...
标题中的“Microsoft.VC90”指的是微软Visual C++ 2005运行时库,这是一个关键组件,用于支持使用Visual C++ 2005编译器开发的应用程序运行。这个库包含了运行C++程序所需的动态链接库(DLLs),如msvcr90.dll,...
5. Microsoft.VC80.CRT.manifest和Microsoft.VC90.CRT.manifest:这两个是应用程序清单文件,用于描述VC80和VC90运行时库的依赖性,确保在系统上正确加载和执行。 这些文件在部署或运行依赖VC++运行时的应用程序时...
在Windows 7操作系统环境下,不少用户在安装某些基于Visual C++(简称VC)的应用程序时,会遇到一个常见的错误——Error 1935。这个错误通常伴随着一段较长的技术信息,其中包含了出错的组件、版本号以及公共密钥...
标题 "vc2005sp1 debug 库缺失导致程序无法运行" 描述了一个常见的问题,即当尝试运行一个依赖于Microsoft Visual C++ 2005 Service Pack 1 (SP1) Debug库的程序时,由于缺少相应的库文件,程序无法启动。...
Windows 无法安装程序包 MicrosoftCorporationII.WindowsSubsystemForAndroid_1.7.32815.0_x64__8wekyb3d8bbwe,因为此程序包依赖于一个找不到的框架。请随要安装的此程序包一起提供由“CN=Microsoft Corporation, O...
当用户尝试运行一个依赖于VC2005库的应用程序而没有安装此库时,就会收到“系统配置不正确”的错误提示。 VC2008运行库(又名Microsoft Visual C++ 2008 Redistributable)同样是为了支持使用Visual Studio 2008...
这些安装程序包含了一系列动态链接库(DLL),它们是许多Windows应用程序正常运行所必需的。在本压缩包中,包含了从2005年到2013年的不同版本的VC运行库,适用于x86(32位)和x64(64位)系统。 1. **vcredist_x64_...
在使用Microsoft Visual C++ 2005 (VC2005) 开发应用程序后,为了方便用户安装和管理,通常需要将生成的.exe可执行文件打包成安装文件。这通常涉及到创建安装向导,包括但不限于文件的组织、依赖库的处理、注册表...
这个运行库包含了一系列的动态链接库(DLLs),这些库在执行依赖于VC++ 2005编译器的程序时是不可或缺的。当用户尝试运行由VC++ 2005编译的软件时,如果没有安装相应的运行库,系统会提示缺少必要的组件。 VC2005...