抽取vs2010安装包中vc++ runtime

本文介绍了解决C++CLI程序在服务器上部署时出现的未处理异常问题,通过安装特定版本的Visual C++运行时库实现了程序的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写于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.youkuaiyun.com/aasmfox/article/details/8631733
    最后的解决方案即把vs2010安装包中的runtime复制出来,用一个cmd命令弄个bat放在vc_runtime_x86.msi一起进行安装即可
    vc_runtime_x86.msi NVSUI=1
    对,就是加一个 NVSUI的参数
    虽然最后的方法很简单,花了这么长时间,但总算找到runtime,以后在有类似的部署就不在有问题了~ 

转载于:https://www.cnblogs.com/dreamzgj/p/4369204.html

通常可能需要在计算机上安装应用程序,但在安装期间或之前或启动时会触发错误。虽然重新安装软件应该可以解决这个令人不快的问题,但还有其他方法可以解决这个问题。很多 Windows 平台上开发的程序都需要一些系统上的运行库支持才可以正常使用,比如 VC++ 运行库,Java 环境,.Net Freamwork 环境等,如果系统中缺少就会导致系统中的应用程序出现各种问题。 VC++ 运行库集合包 RuntimePack 特别版VC++ 运行库集合包 RuntimePack 特别版 您可以在安装应用程序前从阅读应用程序的要求开始了解软件运行需要那些环境等常见问题。虽然这项工作应该解决这个问题,但是可能需要很长时间才能在线查找所有先决条件,逐个下载并安装它们。 如果您发现错误安装是由于缺少 Microsoft Visual C ++ Redistributable Package 或其他缺少的库或组件,则有两种选择。 首先,您可以在 Microsoft 下载中心中查找 Visual C ++ 运行库,并从那里获取它。不过,您必须确保安装正确的版本,即原始应用程序所需的版本。 其次,您可以选择 RuntimePack,这是一个易于管理的组件套件,包括 2005 至 2019 所有版本的 Microsoft Visual C ++ Redistributable Package,包括 x86 和 x64 架构,以及其他库(DLL 和 OCX 文件) )可能丢失或未注册,从而导致不同的 Windows 错误。 后一个选项可以为您节省大量时间,因为您只需下载单个软件包,而不是单个软件包,并且需要进行一次性确认才能完成。此外,它会自动注册多个系统DLL或OCX文件,这些文件的缺失可能是您遇到的恼人错误的原因。 换句话说,RuntimePack 在 Windows 中添加了额外的运行时库。它包括推荐在 Windows 中安装的大多数库和组件,如果不是全部的话。优点是它的部署时间更短,并且比安装单个组件简单得多。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值