安装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% ...
随机推荐
- 【转】Android-Accessibility(辅助功能/无障碍,自动安装APP)
参考: http://www.infoq.com/cn/articles/android-accessibility-installing https://developer.android.com/ ...
- ssm框架的整合搭建(一)
一个转行菜鸟半年多工作的开始学习历程............ 我是自学,也是我的记录,我学习的见证,如果你有幸看见,不要吐槽,不足之处请指点,相互学习,谢谢!! 请一起共勉!!!!!!!! 使用技术: ...
- Vultr服务器端口
腾讯云服务器迁移到Vultr https://www.fengxianqi.com/index.php/archives/105/ 防火墙策略组开启22和80端口 IPV6的模块可以先不管,然后在Li ...
- 自动化测试中依据元素实时截图,比较元素图片是否一致(selenium和appium通用)
1.根据元素的上下左右的坐标进行截图 2.先安装pillow 3.下面是截图 4.下面是比较两张图片的值 5.截取两张图片,然后对两张图片比对,这种场景,可以在测试视频播放.图片显示页面做验证.
- 给ubuntu换内核
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 下载内核源码 有两种方式,一种方式是直接从官网:https://www.kernel.org/直接下载,另一种方 ...
- 【C#复习总结】垃圾回收机制(GC)2
理解C#垃圾回收机制我们首先说一下CLR(公共语言运行时,Common Language Runtime)它和Java虚拟机一样是一个运行时环境,核心功能包括:内存管理.程序集加载.安全性.异步处理和 ...
- [C#] LINQ之Join与GroupJoin
声明:本文为www.cnc6.cn原创,转载时请注明出处,谢谢! 一.编写Person与City类,如下: class Person { public int CityID { set; get; } ...
- 跨界 - Omi 发布多端统一框架 Omip 打通小程序与 Web
Omip 今天,Omi 不仅仅可以开发桌面 Web.移动 H5,还可以直接开发小程序!直接开发小程序!直接开发小程序! Github Omi 简介 Omi 框架是微信支付线研发部研发的下一代前端框架, ...
- SpringBoot集成Apache Shiro
笔者因为项目转型的原因,对Apache Shiro安全框架做了一点研究工作,故想写点东西以便将来查阅.之所以选择Shiro也是看了很多人的推荐,号称功能丰富强大,而且易于使用.实践下来的确如大多数人所 ...
- 关于eclipse tomcat 无法启动(8080,8005,8009端口被占用)的解决方法,附 eclipse tomcat 与 tomcat 并存方式
eclipse 在编译运行时 新建的tomcat连接始终为stopped状态,描述为8080,8005,8009端口被占用. 这是因为在装完tomcat后,tomcat服务已启动,而eclipse仅仅 ...