安装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% ...
随机推荐
- BZOJ2521:[SHOI2010]最小生成树(最小割)
Description Secsa最近对最小生成树问题特别感兴趣.他已经知道如果要去求出一个n个点.m条边的无向图的最小生成树有一个Krustal算法和另一个Prim的算法.另外,他还知道,某一个图可 ...
- 网站建设部署与发布--笔记2-部署Apache
网站部署(Linux) 部署Apache 操作系统:CentOS 7.2 1.首先连接云服务器,清楚系统垃圾. $ yum clean all Loaded plugins: fastestmirro ...
- Python学习笔记(1)-列表
列表是什么? 列表由一系列按特定顺序排列的元素组成.列表看起来像这样:[1,2,3,4,1].在列表中,可以由零个或多个元素组成,元素之间用逗号分开,具有相同值元素允许出现多次 使用[ ]或list( ...
- 利用BBED恢复数据文件头
转载请注明出处:http: @@@@@@@利用BBED模拟损坏5文件1号块(文件头) BBED block block ) Block: Dba:0x01400001 ---------------- ...
- 20175310 《Java程序设计》第7周学习总结
20175310 <Java程序设计>第7周学习总结 本周博客: https://www.cnblogs.com/xicyannn/p/10705376.html 教材学习内容总结 这周学 ...
- AJAX请求返回HTTP 400 错误 - 请求无效 (Bad request)
在ajax请求后台数据时有时会报HTTP400错误-请求无效(Badrequest);出现这个请求无效报错说明请求没有进入到后台服务里: 原因: 1)前端提交数据的字段名称或者是字段类型和后台的实体类 ...
- WPF Binding学习(四) 绑定各种数据源
转自:http://blog.csdn.net/lisenyang/article/details/18312199 1.集合作为数据源 首先我们先创建一个模型类 public class Stude ...
- 使用Windows Live Writer撰写的第一篇博文
一直没有时间,在自己的电脑上配置起来Windows Live Writer. 今天抽时间搞起来后,感觉果然比在Web版写作不知道爽多少倍哦. 还安装了代码插件,上传代码和图片也方便了很多,霸气. 先上 ...
- javaweb 项目启动问题:Application Server was not connected before run configuration stop, reason: javax.manage
参考:https://blog.csdn.net/whm18322394724/article/details/80290187 换成本机的jre就行了(路径要正确,特别是项目迁移的时候有时候用环境变 ...
- 安卓权限申请处理框架Android-UsesPermission
安卓权限申请封装处理框架.测试支持4.0+.项目源于正式处理Android权限问题时,没找到简单.能满足被拒绝权限自动会到系统设置处理的框架,按自己的编程习惯造一个熟悉的轮子还是蛮好的.第一次使用An ...