来公司上班一直都在使用vs2008,不知道是电脑系统坏了还是vs2008本身不稳定,用了差不多半年之后,vs2008基本上一天崩溃好几次,最后实在受不了就重装了系统。由于其他同事都是用vs2005的,所以重装系统之后也就装了vs2005(装了sp1,msdn,wince6.0 SDK),为了偷懒,装vs2005的时候直接选了”Default“选项。装完之后才发现,悲剧开始了。
打开一个之前的工程(工程编译完之后会调用两个外部程序用来压缩应用程序跟检测应用程序),开始编译,编译完之后,调用了两个外部程序之后,点击ok,此时在vs2005的output窗口出现了"Project : error PRJ0002 : Error result 9020 returned from 'C:\WINDOWS\system32\cmd.exe'."错误。
一开始以为是windows的cmd.exe有问题,然后去同事那拷贝了一个cmd.exe回来对比,发现是一样的,然后仔细想想,编译是能够完全编译成功的,就是调用最后两个外部程序之后才出现的问题,然后开始以为是在vs2005调用外部程序出错,就只编译程序,然后在外面直接手动点击外部程序来压缩检测,发现编译的程序通过自己手动压缩是无法运行的,而在别人电脑上手动压缩检测是可以运行的。这样子就开始想是不是我这边的两个外部程序有问题,从同事那拷贝一份过来,重新压缩,发现还是一样有问题。
更重要的是,此时发现那个外部检测程序在别人机器上是可以打开运行的,而我的电脑上打开就是”由于应用程序配置不正确,应用程序未能启动,请重新安装XXXXXX“,想想还是命令行程序的问题。中间由于怀疑vs2005的补丁打错了,然后重新打了补丁,问题还是存在,请了好几个同事都过来查看,始终没找到问题原因所在。最后只好请研发老大出手,他远远的看了眼叫我把所有补丁都打上(之前下了四个补丁)。补丁是装了,可是问题还是没解决。
在快要崩溃的时候,想起了以前的老大,然后就去请教,高手就是不一样吖,看了我的问题描述之后很快把问题定位在那个外部程序打不开上,然后找了些资料给我,问了下这个外部程序是不是vs2008编译的。才发现我的电脑里面缺少vs2008的运行库。也就是我要运行vs2008编译出来的程序就需要安装Microsoft Visual C++ 2008 Redistributable Package(vs2008运行库)。
至此,问题完美解决,要不是他的帮助估计我现在还在重装系统吖。而重装系统估计这个问题还会继续存在,这样还不知道哪天我才能装好并使用呢。
附上一篇经典的解决应用程序配置不正确的问题的文章,也是看了它才不再担忧再次遇上此类问题
http://jingyan.baidu.com/article/454316abb9e750f7a7c03a2a.html?qq-pf-to=pcqq.c2c