2015-01-21 知道令我崩溃的原因了

  • Post author:
  • Post category:其他


昨日,安装编译服务器,遇到不可逾越的困难:不知道为什么VS2010编译出来的简单程序就是不能运行,会弹出一个窗口,称“应用程序无法正常启动(0xc0000013)”之类的云云。用Depends工具看吧,确实说它缺少了动态库:gpsvc.dll和ieshims.dll。昨天后来的时间就浪费在寻找这两个文件以及妄图注册(regsvr32)这两个文件的道路上,但是终于还是一无所获。首先,这两个DLL无法注册;其次,用了其他的方法也没有能解决这个问题。后来想,是不是自己安装什么东西顺序有错误(我先安装了.Net Framework4.5、postgres,后安装的VS2010)?

于是,决定今天重装系统,WIN7 64+SP1,之后还试了好几次,想做ghost,以便为自己留条后路,没成,作罢,战战兢兢开始安装VS2010+SP1。安装完毕后,编译,运行,仰天长啸——(我可以骂人吗?)还是不行啊!!!该怎么办???

继续开始苦逼的查找问题之旅。我已经放弃了所谓拷贝上面那两个动态库或者注册那两个动态库的方式,查找是不是还有其他的解决道路?很多人说,自己遇到这个问题用Depends工具看依赖关系其实是不正确的,即使后来自己解决了这个问题,用Depends查还是缺乏依赖关系,有些人提出,在64位系统中,Depends的表现不尽如人意,不能完全依靠它。有的人说,自己在计算机中插入了一个安卓手机充电,结果本来能运行的程序也出现这种状态了(因为插入的手机不可写入);有的人在下面回复说,自己也遇到这种现象了,但是后来发现是因为自己的PATH路径中有实际不存在的路径设置,结果就这样了,改了PATH之后就好了……

亲人啊~~~~,就是看到这最后一条评论,我也去看了计算机中的路径设置,果然有不正确的存在,因为为了编译环境的设置,这些配置我是存成了注册表文件,然后一次性导入到新计算机中的,其中,这次安装尚未安装postgres,但是路径中有这个设置。于是,我把这个暂时未安装的路径从PATH中删除了,然后运行了我的程序,我激动地发现:程序运行没有任何问题了!!!这实在是个诡异的问题和诡异的解决办法。

之后,我安装了postgres,把路径设置回去,运行,没有问题;

但是我又在PATH中故意设置了不存在的路径,运行,还是,没有问题;

去掉不存在的路径,没有问题。

好吧,到现在为止,我只是找到了遇到这种问题的解决办法之一,但是为什么,还真是不知道原因。

(这篇算啥?技术还是唠叨?如果是技术,简直让人难堪啊)



版权声明:本文为ll365原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。