写于2015-3-21 16:59 由qq空间转过来,格式有点乱

    之前遇到一个问题,c++\cli的程序部署在服务器上面,程序运行后没有反应就退出了,日志管理器中记录两个错误信息分别如下:

    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:
    首先可以确定的程序在开发环境中确实运行没有问题,经验告诉这是少了c++运行库,网上搜索一堆c++运行库,我的开发环境用的vs2010,但是c++\cli比较特殊,可以指定vs2010编译,否则用vs2012默认的库,xp级别的系统就没办法运行了,网上找了vc++ 2010 Redistributable安装,结果很失望问题并没能解决..由于当时想着先运行起来,服务器网络又好,于是乎一个惊人的做法搞定了,不错下载2.5G的安装包,在服务器安装了一个vs2010.不用说程序很顺利的跑了起来,一切正常.
    今天再次部署这个程序,由于以后可能频繁的换服务器,这样下载安装vs2010,肯定是不可行的方案,那为什么安装了vc++ 2010运行库不行,而安装vs2010就可以了? 那就来看看vs2010安装到底多了什么? 我们在vs2010自定义安装的子级列表中把勾都去掉,发现vs2010先安装vc9.0 runtime,然后在是vc10.runtime,一边安装一边测试中发现vc10.runtime安装过了后,程序就可以正常运行了...几经排除,确认需要的就是vc10.runtime.
    但问题是网上搜索两个小时都未能找到vc10 runtime的单独安装程序,搜到的都是redistributable的运行库,当然中间在vs2010安装包中直接找到了这个runtime,可是这个.msi要求用setup.exe进行安装,也就是说须要从vs安装整起... 后来想着怎么精简这个安装包,终于在崩溃中找到了解药. "手工安装Visual Studio 2010" 
    http://blog.csdn.net/aasmfox/article/details/8631733
    最后的解决方案即把vs2010安装包中的runtime复制出来,用一个cmd命令弄个bat放在vc_runtime_x86.msi一起进行安装即可
    vc_runtime_x86.msi NVSUI=1
    对,就是加一个 NVSUI的参数
    虽然最后的方法很简单,花了这么长时间,但总算找到runtime,以后在有类似的部署就不在有问题了~ 

抽取vs2010安装包中vc++ runtime的更多相关文章

  1. InstallShield安装包中集成第三方安装包的方案选择

    原文:InstallShield安装包中集成第三方安装包的方案选择[转]   我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项. 第三方安装包的 ...

  2. 如何使用AdvancedInstaller在安装包中运行一个.bat文件

    原文:如何使用AdvancedInstaller在安装包中运行一个.bat文件 1,  首先要保证你的Files and Folders模块下的Application Folder文件夹下包含你要运行 ...

  3. 向安装包中添加设备 UDID. 蒲公英内测

    向安装包中添加设备 UDID 前言 注:本文适用于只有苹果个人开发者账号.公司开发者账号.或教育开发者账号的 iOS 开发者. 对于没有企业开发者账号(299$)的开发者来说,要想使用蒲公英将自己的应 ...

  4. 打包文件到APK安装包中

    打包文件到APK安装包中 目的:将配置文件或SQLITE打包进APK中 1.首先,打开菜单 Project - Deployment 2.点击添加按钮,选择要添加的文件(文件最好放在工程目录中,这样, ...

  5. VS2010安装包制作

    最近对软件安装包制作研究了一下,下面记录了一种比较简单,不用写代码的方法. 1.New Project---->Other Project Types ---->Visual Studio ...

  6. VS2010安装包制作全过程图解

    项目的第一个版本出来了,要做个安装包,很久没做过已经有些淡忘了,网上差了差资料,写了一个,总结下,可能还不是很完善,仅作参考. 1.首先在打开 VS2010    >新建>项目 2.创建一 ...

  7. InstallShield安装包中集成第三方安装包的方案选择[转]

      我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项. 第三方安装包的介质类型有很多,主要有:单独的一个Setup.exe,单独的一个msi包, ...

  8. Linux软件安装包中devel与非devel包之间的区别

    带devel(develop)的包,俗称开发包.功能上与普通包相同,但体积更大使用rpm -qi看看这两类包的区别: # rpm -qi glibc-devel-2.12-1.149.el6.x86_ ...

  9. vs installer 将.net framework 集成到安装包中

    Missing .NET Framework 4.0 in Visual Studio 2017 Prerequisites whenhttps://stackoverflow.com/questio ...

随机推荐

  1. Centos搭建PXE,安装部署操作系统

    centos系统搭建PXE网络安装centos+ubuntu+Windows Centos搭建PXE,安装部署操作系统 一 . 原理: 1.什么是PXE: PXE(Pre-boot Execution ...

  2. HLS协议

    今天来介绍一下HLS协议,这个协议是由苹果公司提出并推广开来的.来一段维基百科的定义. HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议.是 ...

  3. http1.0、http1.x、http 2和https梳理

    http1.0.http1.x.http 2和https梳理 Http1.x 线程阻塞,在同一时间,同一域名的请求有一定数量限制,超过限制数目的请求会被阻塞 http1.0 缺陷:浏览器与服务器只保持 ...

  4. learn more ,study less(二):整体性学习技术(上)

    前言:在学习整体性学习概念时,一个很好的方法是把它比喻成下棋,首先你要了解下棋的 基本规则和基本目标,本书第一部分可以看做是介绍关于整体性学习的一整套规则和目标. 一旦你理解了下棋的基本规则,你就要开 ...

  5. Spring-data-Jpa项目搭建

    传送门:Spring Data 学习   Spring Data 开发环境搭建   Spring-data-jpa详解 简介 Spring Data是什么    Spring Data是一个用于简化数 ...

  6. laravel 工厂模式到容器

    下面实现了查人拥有超能力的三种方式 第一种最基本的类引用实现 1 <?php /** * 目的:代码的完善来说明从 基础类的调用到 工厂类的使用 再到容器的出现的原因 * (首先要明白工厂类和容 ...

  7. 手把手写框架入门(一) | 核心拦截器DispatchFilter实现

    前言 1Filter实现框架拦截 1配置自定义Filter 2创建一个Filter 3创建一个ActionMapping 4创建一个ActionMapper 5创建一个WebExecutor 6创建测 ...

  8. gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(下)

    第一篇文章(大约半年前写的):https://www.cnblogs.com/cgzl/p/11246324.html gRPC in ASP.NET Core 3.x -- Protocol Buf ...

  9. WTL使用双缓冲避免重绘闪烁

    1.继承自CDoubleBufferImpl template <class T> class CDoubleBufferImpl { public: // Overrideables v ...

  10. python——3种字符串反转方法

    在学习过程中,总结了3种字符串反转方法: 1.切片法 这种方法最为简便 str='abad' print(str[::-1]) · 用切片操作,将字符串以步长-1重新整理,即 'str[-1],str ...