1. 之前遇到一个问题,c++\cli的程序部署在服务器上面,程序运行后没有反应就退出了,日志管理器中记录两个错误信息分别如下:
2. 首先可以确定的程序在开发环境中确实运行没有问题,经验告诉这是少了c++运行库,网上搜索一堆c++运行库,我的开发环境用的vs2010,但是c++\cli比较特殊,可以指定vs2010编译,否则用vs2012默认的库,xp级别的系统就没办法运行了,网上找了vc++ 2010 Redistributable安装,结果很失望问题并没能解决。由于当时想着先运行起来,服务器网络又好,于是乎一个惊人的做法搞定了,不错下载2.5G的安装包,在服务器安装了一个vs2010,不用说程序很顺利的跑了起来,一切正常。
3. 今天再次部署这个程序,由于以后可能频繁的换服务器,这样下载安装vs2010,肯定是不可行的方案,那为什么安装了vc++ 2010运行库不行,而安装vs2010就可以了? 那就来看看vs2010安装到底多了什么? 我们在vs2010自定义安装的子级列表中把勾都去掉,发现vs2010先安装vc9.0 runtime,然后在是vc10.runtime,一边安装一边测试中发现vc10.runtime安装过了后,程序就可以正常运行了...几经排除,确认需要的就是vc10.runtime。
4. 但问题是网上搜索几个小时都未能找到vc10 runtime的单独安装程序,搜到的都是redistributable的运行库,当然中间在vs2010安装包中直接找到了这个runtime,可是这个.msi要求用setup.exe进行安装,也就是说须要从vs安装整起... 后来想着怎么精简这个安装包,终于在崩溃中找到了解药。"
5. 最后的解决方案即把vs2010安装包中的runtime复制出来,用一个cmd命令弄个bat放在vc_runtime_x86.msi一起进行安装即可:
6. 虽然最后的方法很简单,花了这么长时间,但总算找到runtime,以后在有类似的部署就不在有问题了~
VC_RunTime:http://download.csdn.net/detail/u013354805/9495477 Redistributable:http://download.csdn.net/detail/u013354805/9495511
7. 安装步骤: 1). 下载VCRuntimes.rar,解压VCRuntimes.rar 2). 进入VCRuntimes\x86文件夹中 3). 双击 install.bat 文件,不是双击vc_runtime_x86.msi文件。
8. 安装界面:
9. 如果安装成功,在添加删除程序中,就会出现: Microsoft Visual C++ 2010 X86 Runtime -10.0.3.30319
1> Faulting application 5gameserver_1.exe, version 0.0.0.0, stamp 5502842b, faulting module kernel32.dll, version 5.2.3790.5295, stamp 52f35537, debug? 0, fault address 0x0000bf93. 2> Application: 5GameServer_1.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.TypeInitializationException Stack: |
2. 首先可以确定的程序在开发环境中确实运行没有问题,经验告诉这是少了c++运行库,网上搜索一堆c++运行库,我的开发环境用的vs2010,但是c++\cli比较特殊,可以指定vs2010编译,否则用vs2012默认的库,xp级别的系统就没办法运行了,网上找了vc++ 2010 Redistributable安装,结果很失望问题并没能解决。由于当时想着先运行起来,服务器网络又好,于是乎一个惊人的做法搞定了,不错下载2.5G的安装包,在服务器安装了一个vs2010,不用说程序很顺利的跑了起来,一切正常。
3. 今天再次部署这个程序,由于以后可能频繁的换服务器,这样下载安装vs2010,肯定是不可行的方案,那为什么安装了vc++ 2010运行库不行,而安装vs2010就可以了? 那就来看看vs2010安装到底多了什么? 我们在vs2010自定义安装的子级列表中把勾都去掉,发现vs2010先安装vc9.0 runtime,然后在是vc10.runtime,一边安装一边测试中发现vc10.runtime安装过了后,程序就可以正常运行了...几经排除,确认需要的就是vc10.runtime。
4. 但问题是网上搜索几个小时都未能找到vc10 runtime的单独安装程序,搜到的都是redistributable的运行库,当然中间在vs2010安装包中直接找到了这个runtime,可是这个.msi要求用setup.exe进行安装,也就是说须要从vs安装整起... 后来想着怎么精简这个安装包,终于在崩溃中找到了解药。"
5. 最后的解决方案即把vs2010安装包中的runtime复制出来,用一个cmd命令弄个bat放在vc_runtime_x86.msi一起进行安装即可:
vc_runtime_x86.msiNVSUI=1 |
VC_RunTime:http://download.csdn.net/detail/u013354805/9495477 Redistributable:http://download.csdn.net/detail/u013354805/9495511
7. 安装步骤: 1). 下载VCRuntimes.rar,解压VCRuntimes.rar 2). 进入VCRuntimes\x86文件夹中 3). 双击 install.bat 文件,不是双击vc_runtime_x86.msi文件。
8. 安装界面:
9. 如果安装成功,在添加删除程序中,就会出现: Microsoft Visual C++ 2010 X86 Runtime -10.0.3.30319
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2010anzhuangwenti/2020/0724/2439.html