Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1518552
  • 博文数量: 114
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1357
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-19 18:13
文章分类
文章存档

2010年(8)

2009年(9)

2008年(27)

2007年(62)

2006年(8)

我的朋友

分类: C/C++

2008-09-23 09:38:51

北京理工大学  20981  陈罡
vs2005很强大,很邪恶。从vc6慢慢过渡到了vs2005,这款ide确实做得很体贴,也非常好用。但是美中不足的是,在它上面写一个程序,哪怕你是用release模式生成的程序,到了第三方没有安装vs插件的机器上仍然无法运行。最直接的错误就是“应用程序配置不正确,程序无法启动”,这一点跟vc6相比就差的很多了,尤其是当你希望开发一些用于验证性的演示程序的时候,通过简单的拷贝粘贴到其它没有安装过vs2005的机器上测试运行基本上都无法通过。我想很多人会有同感,不想每次哪怕弄个简单的hello world也生成一个setup工程吧?!
这很让人恼火,可是怎么解决这个问题呢?配置不正确,想办法让它配置正确了不就行了。于是逐个研究vs2005产生的文件,就找到了exe.manifest,不知道微软弄这个东西做什么的。
打开一看原来是一个xml文件,如下所示:


 
   
     
   

 

 
   
     
   

 

 
   
     
   

 



乱糟糟的一堆,但是这个name比较有趣,似乎是应用程序所依赖的一些库的名字。
好,搜索一下,果然,找到了这些东西。这些依赖文件位于:
C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86
这个目录下面,你会找到上面xml的item中列出来的Microsoft.VC80.CRT和Microsoft.VC80.MFC这两个目录。剩下的那个Microsoft.Windows.Common-Controls应该是所有win32环境都有的。
现在需要做的就是建立一个目录,把上面的Microsoft.VC80.CRT和Microsoft.VC80.MFC目录下的的所有文件都拷贝进去,然后把你的release版的应用程序也拷贝进去。然后把整个目录压缩一下拷贝到没有安装过vs2005的机器上,解压缩,运行。
这次应该就不会出现“应用程序配置不正确,无法运行”的错误了。通过查看exe.mainifest文件的方法拷贝必要的库,制作“绿色”软件,虽然第一次麻烦一些,但总体上,比再生成个setup要快得多。
不知道微软是如何思考这个问题的,为什么每次都要把明明很简单的工作给复杂化,让人郁闷。
阅读(6709) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-01-30 21:48:57

谢谢,很有效,总算有对付邪恶2005的办法了

chinaunix网友2009-07-12 17:48:04

Release + 静态库 好像也行的

chinaunix网友2009-01-05 15:03:56

直接下载 Visual C++ 2005 Redistributable Package (x86) 安装即可 http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en 不过有些情况是因为VS没装SP1

chinaunix网友2008-12-16 15:23:27

网上找了那么久,看了这篇文章才解决问题的 多谢了!!!!!!