安装VC++2015运行库时出现0x80240037错误
很多时候,当我们将开发好的软件部署到用户的机器上时总会出现各种意想不到的错误,最近在一台原版Windows7系统的电脑上安装VC++运行库的时候,莫名的出现安装失败,然后错误代码为:0x80240037的错误,找了好久才找到解决的办法,那么我们该怎样一步步去找到这个错误,并顺利安装这个呢?

然后我们打开日志文件,找到出错的地方,然后看看这个错误是怎样引起的?
查找整个log文件,找到第一个出现0x80240037的地方,然后找到这句关键的代码:
Applying execute package: Windows7_MSU_x64, action: Install, path: C:\ProgramData\Package Cache\54050A5F8AE7F0C56E553F0090146C17A1D2BF8D\packages\Patch\x64\Windows6.1-KB2999226-x64.msu, arguments: '"C:\Windows\SysNative\wusa.exe" "C:\ProgramData\Package Cache\54050A5F8AE7F0C56E553F0090146C17A1D2BF8D\packages\Patch\x64\Windows6.1-KB2999226-x64.msu" /quiet /norestart'
也就是安装Windows6.1-KB2999226-x64.msu的时候出错了,然后弹出0x80240037这个错误,关于这个文件是什么类型的暂时先不说明,直接说明怎样才能解决这个问题。
1 在Windows下面全盘搜索Windows6.1-KB2999226-x64.msu这个文件,果然在ProgramData文件夹下面找到了这个文件。

2 搜索到的应该是Windows6.1-KB2999226-x64.msu这个文件,我们将这个文件的后缀名改为.cab文件。
3 然后右键解压到当前文件夹下面,这是会多出几个文件,其中也有一个Windows6.1-KB2999226-x64.cab文件。
4 以管理员身份运行cmd ,输入下面的命令 dism /online /add-package /packagepath:"刚才解压的文件夹下面Windows6.1-KB2999226-x64.cab的位置"
5 点击回车,出现下面的界面,等待执行完毕。

6 部署完毕如果提示需要进行重启,那么重启计算机,然后再重新安装VC++2015运行库。
7 重新安装,然后顺利安装完成。

那么回到这个问题中,我们需要了解几个重要的问题:
1 为什么要安装VC++运行库,而且这个运行库版本众多,有时自己都搞不清楚到底安装哪个版本。
答:运行库是一个经过封装的程序模块,对外提供接口,只要知道接口参数就可以自由使用。如果不使用运行库,每个程序中都会包含很多重复的代码,而使用运行库,可以大大缩小编译后的程序的大小。但另一方面,由于使用了运行库,所以在分发程序时就必须带有这些库,比较麻烦。如果在操作系统中找不到相应的运行库程序就无法运行。为了解决这个矛盾,Windows总是会带上它自己开发的软件的最新的运行库。像Windows 2000以后的版本都包括Visual Basic 5.0/6.0的库。这个是百科中的解释,总之如果C++的代码不是选择静态编译的话就需要对应的VC++运行库的支持。
2 msu文件是什么类型的文件?为什么需要安装这个?
答:.msu文件是微软的独立安装程序,首次安装时需要联网下载特定的.cab更新包,并保存到本地的临时文件夹中,这个文件的名字不需要我们特别关注。一般我们使用wusa.exe来安装.msu程序。由于这个需要进行联网更新操作,所以可能在没有网络的情况下会出现错误,这个是我的猜测。命令格式如下:wusa.exe "X:\路径\windows10.0-kb3172988-x64_c3f911bf701a57a0423828fec6707b8a0b181453.msu" /quiet /norestart其中,wusa.exe是安装命令,引号中的内容是更新包路径(需根据自己实际情况改写),后面/quiet表示静默安装,/norestart表示无需重启(这些参数可酌情使用)
3 dism命令的作用是什么?
答:部署映像服务和管理 (DISM.exe) 是一个用于更新脱机 Windows® 映像的命令行工具。使用 DISM 脱机安装或删除程序包有以下两种方式。你可以将无人参与的应答文件应用于脱机映像,或可以直接从命令提示符添加或删除程序包。这个是从MSDN上面查到的相关资料,在使用的时候需要按照一定的格式来进行更新,我们使用这个命令是联网去更新一些程序包,然后就能够正确的安装了,至于具体的原因就不太了解了,欢迎对此了解的多发表一下意见,以解决自己的困惑。
安装VC++2015运行库时出现0x80240037错误的更多相关文章
- 解决安装vc2005运行库时提示Command line option syntax error.Type Command/?for Help
安装vc2005运行库时提示 这是因为它要自解压到用户的临时文件夹下,如果用户名中带中文,就会报错. 简单的解决方法是,手动解压之,再安装 当然,你也可以修改用户名或者再新建个用户.
- 树莓派 Learning 002 装机后的必要操作 --- 05 给树莓派搭建“x86 + pi”环境 -- 安装**32位运行库** -- 解决`E:未发现软件包 xxx` 问题
树莓派 装机后的必要操作 - 给树莓派搭建"x86 + pi"环境 – 安装32位运行库 – 解决E:未发现软件包 xxx 问题 我的树莓派型号:Raspberry Pi 2 Mo ...
- 安装需要的第三方库时,命令行输入pip提示不是内部或外部命令
简介 在做Python开发时,安装需要的第三方库时,大多数人喜欢选择在命令行用pip进行安装. 然而有时敲入pip命令会提示‘pip’不是内部或外部命令..如图: 解决办法 1.在python安装目录 ...
- Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'
编译动态库时遇到如下错误: ... ... relocation R_X86_64_32 against `a local symbol' can not be used when making a ...
- 安装软件或运行软件时提示缺少api-ms-win-crt-runtime库解决方法
最近碰到一个问题,在我软件安装或运行时会提示缺少api-ms-win-crt-runtime-|1-1-0.dll 当然第一个想到的是运行库没有装,但是很清楚的是我的电脑是装过vc_redist_20 ...
- Ubuntu 64位安装32位运行库
sudo apt-get install ia32-libs 32-64sudo apt-get install libc6:i386sudo apt-get install librt:i386su ...
- 〖Linux〗Ubuntu14.04安装32位运行库
在终端操作: sudo dpkg --add-architecture i386 echo "deb http://old-releases.ubuntu.com/ubuntu/ rarin ...
- 安装mysql解压版时遇到的错误
平常都是使用exe安装mysql,今天使用解压包的,遇到了一系列问题: 环境:win10 mysql版本:mysql-5.7.21-winx64 开始一直用该网页的教程 https://www.cnb ...
- 小心DLL链接静态库时的内存错误
本文转自http://www.bennychen.cn/2010/09/%E5%B0%8F%E5%BF%83dll%E9%93%BE%E6%8E%A5%E9%9D%99%E6%80%81%E5%BA% ...
随机推荐
- [matlab] 20.图与网络 matlab自带函数使用
matlab自带的biography(产生一个句柄) 可以用于画图 R=[1 1 2 4 1 2 3 3 5 7 3 4 5 6 7 8]; % 起始节点编号 C=[2 3 3 3 4 5 5 6 6 ...
- tensorflow中的name_scope, variable_scope
在训练深度网络时,为了减少需要训练参数的个数(比如LSTM模型),或者是多机多卡并行化训练大数据.大模型等情况时,往往就需要共享变量.另外一方面是当一个深度学习模型变得非常复杂的时候,往往存在大量的变 ...
- CSAPP:信息的表和处理2
CSAPP:信息的表和处理2 关键点:浮点数.浮点数运算. 二进制小数IEEE浮点数表示浮点数转换(单精度)参考 二进制小数 形如表示的二进制数,其中每个位的取值范围位0和1.这种表示方式的定义如 ...
- 转://Oracle打补丁方法论
成熟的IT企业,往往会有自己的补丁计划.如一年打几次补丁,打哪一个补丁. 在补丁之前,需要进行补丁分析,一份比较完善补丁分析,往往能帮助企业未雨绸缪,提前将可能引发的问题先解决掉,保证生产的稳定和安全 ...
- iptables nat 技术转发
NAT 一. 什么是 NAT NAT(Network Address Translation)译为网络地址转换.通常路由器在转发我们的数据包时,仅仅会将源MAC地址换成自己的MAC地址,但是NAT技术 ...
- vue.js鼠标经过和离开事件 mouseover mouseout
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code @mouseover="showEwm(1)" @mouseout ...
- Python:Day26 socket
SOCKET通信流程 服务器创建套接字链接: 1.创建SOCKET,socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=No ...
- Ubuntu16.04之Solr7.7.1环境搭建
Solr的版本一直都在变化(比如之前我在博客园写的关于Linux安装solr,那个solr为7.6版本,此时已经不在了).大家可以去这个地址下载对应的版本:http://mirror.bit.edu. ...
- BottomNavigationBar
重点: bottomNavigationBar: BottomAppBar( shape: CircularNotchedRectangle(),//这个就是设置floatingactionbutto ...
- React-菜鸟学习笔记(一)
新公司的项目前端架构用的是react.js 之前孤陋寡闻并没听说过,想着后期开发和维护多少要会点前端的东西,就简单研究一下.个人的学习习惯能写代码的就不写文字,必要的地方加两行注释,代码一行行敲下去, ...