转载-不安装vc2015 Redistributable解决api-ms-win-crt-runtime-l1-1-0.dll丢失错误

一、背景

最近用到python下的cx_Oracle模块,开发环境中测试正常,用cx_freeze打包后,到用户机器上一部署,各种奇奇怪怪的问题频出,运行环境如下:

a、开发环境:64位win10操作系统,安装32位python,32位oracle client,32位firefox。

b、生产环境:64位win7操作系统,64位win8操作系统,32位win7操作系统,32位win8操作系统……比较复杂,各种情况都有。

问题主要有两个:1、python经典的中文字符问题,2、vc2015依赖问题,这里重点说下vc2015依赖问题。

错误信息如下,提示api-ms-win-crt-runtime-l1-1-0.dll缺失。

二、原因分析

原因很简单,cx_oracle是在vc2015下编译的,所以运行cx_oracle.pyd需要vc2015运行环境。

百度了一下,发现问题非常普遍,解决方案大同小异(其中又以这个地址的信息最准确全面,http://blog.csdn.net/huqiao1206/article/details/50768481)

总的来说整个过程非常耗时,堪称现实版“多米诺骨牌效应”,为了一个vc2015运行环境,就差没把操作系统的重装。

具体处理过程如下,与帖子中基本一致。

1、安装vc2015 发行包,最后出错,提示需要先安装KB2999226 补丁。

2、安装KB2999226补丁,又提示需要安装win7 sp1(后来发现win8系统,也有同样问题)。

3、安装win7 sp1时,由于机器长期未正常打开update,安装sp1的时候,又遇到一个新的错误,各种补丁。

三、新的解决方案

前述是常规解决方案,庆幸的是经过多方搜索和反复尝试,最终找到了新的解决方案,思路如下:

1、到正常的机器,或者就在开发环境,去搜索api-ms-win-crt-runtime-l1-1-0.dll文件。

结果在C:\windows\system32,以及C:\Windows\SysWOW64,以及C:\Program Files (x86)\Mozilla Firefox中都找到了该文件。

三个目录下都有,到底选哪个呢?涉及到一个新的64位系统32位dll的问题。我参考了这篇文章,https://jingyan.baidu.com/article/454316ab73ce1ef7a7c03a01.html

规则如下:

a、64位操作系统,32位程序,选择syswow64下dll

b、64位操作系统,64位程序,选择system32下dll

c、32位操作系统,32位程序,选择system32下dll

2、拷贝所有api-ms开头的dll ,以及msvcp140.dll,vcruntime140.dll,ucrtbase.dll到程序目录。

一共44个文件。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

驱动器 D 中的卷是 新加卷

 卷的序列号是

 D:\python 的目录

2017/03/24  02:06            18,624 api-ms-win-core-console-l1-1-0.dll

2017/03/24  02:06            17,600 api-ms-win-core-datetime-l1-1-0.dll

2017/03/24  02:06            17,600 api-ms-win-core-debug-l1-1-0.dll

2017/03/24  02:06            18,104 api-ms-win-core-errorhandling-l1-1-0.dll

2017/03/24  02:06            21,696 api-ms-win-core-file-l1-1-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-file-l1-2-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-file-l2-1-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-handle-l1-1-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-heap-l1-1-0.dll

2017/03/24  02:06            18,104 api-ms-win-core-interlocked-l1-1-0.dll

2017/03/24  02:06            18,624 api-ms-win-core-libraryloader-l1-1-0.dll

2017/03/24  02:06            20,672 api-ms-win-core-localization-l1-2-0.dll

2017/03/24  02:06            18,624 api-ms-win-core-memory-l1-1-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-namedpipe-l1-1-0.dll

2017/03/24  02:06            19,136 api-ms-win-core-processenvironment-l1-1-0.dll

2017/03/24  02:06            20,160 api-ms-win-core-processthreads-l1-1-0.dll

2017/03/24  02:06            18,624 api-ms-win-core-processthreads-l1-1-1.dll

2017/03/24  02:06            17,600 api-ms-win-core-profile-l1-1-0.dll

2017/03/24  02:06            17,600 api-ms-win-core-rtlsupport-l1-1-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-string-l1-1-0.dll

2017/03/24  02:06            20,160 api-ms-win-core-synch-l1-1-0.dll

2017/03/24  02:06            18,624 api-ms-win-core-synch-l1-2-0.dll

2017/03/24  02:06            19,136 api-ms-win-core-sysinfo-l1-1-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-timezone-l1-1-0.dll

2017/03/24  02:06            18,112 api-ms-win-core-util-l1-1-0.dll

2015/06/07  07:08            11,616 api-ms-win-core-xstate-l2-1-0.dll

2017/03/24  02:06            19,136 api-ms-win-crt-conio-l1-1-0.dll

2017/03/24  02:06            22,208 api-ms-win-crt-convert-l1-1-0.dll

2017/03/24  02:06            18,624 api-ms-win-crt-environment-l1-1-0.dll

2017/03/24  02:06            20,160 api-ms-win-crt-filesystem-l1-1-0.dll

2017/03/24  02:06            18,624 api-ms-win-crt-heap-l1-1-0.dll

2017/03/24  02:06            18,624 api-ms-win-crt-locale-l1-1-0.dll

2017/03/24  02:06            28,864 api-ms-win-crt-math-l1-1-0.dll

2017/03/24  02:06            25,792 api-ms-win-crt-multibyte-l1-1-0.dll

2017/03/24  02:06            72,896 api-ms-win-crt-private-l1-1-0.dll

2017/03/24  02:06            19,136 api-ms-win-crt-process-l1-1-0.dll

2017/03/24  02:06            22,720 api-ms-win-crt-runtime-l1-1-0.dll

2017/03/24  02:06            24,256 api-ms-win-crt-stdio-l1-1-0.dll

2017/03/24  02:06            24,256 api-ms-win-crt-string-l1-1-0.dll

2017/03/24  02:06            20,672 api-ms-win-crt-time-l1-1-0.dll

2017/03/24  02:06            18,624 api-ms-win-crt-utility-l1-1-0.dll

2015/06/07  07:08            11,616 api-ms-win-eventing-provider-l1-1-0.dll

2017/03/24  02:06           440,120 msvcp140.dll

2017/03/24  02:06           917,184 ucrtbase.dll

2017/03/24  02:06            83,784 vcruntime140.dll

              44 个文件     37,191,043 字节

               0 个目录  8,842,960,896 可用字节

至此,成功解决api-runtime确实错误,无需安装vc2015 runtime ,也就无需升级sp1。

总结:

1、最开始的启发其实来自于搜索,偶然搜索到的firefox目录,发现一系列api开头的文件。

2、胆大心细,反复尝试,最开始走了很多弯路,包括什么注册dll之类,其实都是错误的,关键是在ucrtbase.dll文件必须有。

<--end-->

时间: 2024-10-08 21:52:33

转载-不安装vc2015 Redistributable解决api-ms-win-crt-runtime-l1-1-0.dll丢失错误的相关文章

电脑重启之后流氓软件自动安装之完美解决办法

电脑重启之后流氓软件自动安装之完美解决办法: 1. win+R 运行msconfig 在startup(开机启动) 这一项里面, 把所有对勾全部去掉( disable all), 你可以发现这里面就有自动安装的, 2. 卸载所有流氓软件 3. 在1. 中, 有的名字竟然叫百度杀毒install,  你可以看到那些自启的路径, 如果他们的安装包还在, 删了就好.

eclipse安装maven插件-解决requires ‘bundle org.slf4j.api 1.6.2′

eclipse安装maven插件-解决requires 'bundle org.slf4j.api 1.6.2′ [转载]http://robin.sh/html/1526_eclipse-maven.html 给eclipse安装maven插件,网上教程已经很多,不在累述.关键是安装过程中报错:requires 'bundle org.slf4j.api 1.6.2' but it could not be found. 这个错误很难搞,网上提供的解决方案绝大部分都不起作用.可能跟eclips

ubuntu12.04+kafka2.9.2+zookeeper3.4.5的分布式集群安装和demo(java api)测试

博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=547 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! --------------------------------------- 目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读 一.什么是kafka? ka

kafka2.9.2的分布式集群安装和demo(java api)测试

目录: 一.什么是kafka? 二.kafka的官方网站在哪里? 三.在哪里下载?需要哪些组件的支持? 四.如何安装? 五.FAQ 六.扩展阅读   一.什么是kafka? kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ.Kafka仅仅由7000行Scala编写,据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB). kafka目

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法

vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法_华英雄_新浪博客 http://blog.sina.com.cn/s/blog_54bf02090100xlqy.html   现象:VMware Workstation 8.0在安装VMware Tools时弹出对话框,提示"安装程序无法继续.Microsoft Runtime DLL安装程序未能完成安装."如图: 原因:虚拟机中Windows Installer服务

Sublime Text 无法使用Package Control或插件安装失败的解决方法

Sublime Text用了一年多了,公司搬家近期突然发现Package Control无法安装新插件了.尽管不影响原有功能的使用.还是要解决它.因为本人用Windows系统,仅仅讨论Windosw下的解决方法. Mac与Linux下的用户能够參照解决. 本文主要介绍Sublime Text怎样开启debug模式.分析使用过程中一些常见错误情形的解决方法. 情形一:Package Control:There are no packages available for installation.情

[转载] gitbook安装与使用

转载自http://blog.csdn.net/xiaocainiaoshangxiao/article/details/46882921 废话不说,直接主题: gitbook安装 =========== 1. 安装npm 从网站 https://nodejs.org/#download 下载node.js源代码(点击绿色的INSTALL),解压./configuremakemake install 成功执行后,npm就被安装好了. 2. gitbook 安装npm install -g git

linux(ubuntu)下编译安装cx_Freeze失败解决方法

今天准备把写好的Python程序打包,结果折腾了一天.先是想用pyinstaller,发现打包出来运行不了,应该是它在处理import时出了问题.于是考虑用cx freeze代替,结果在安装的时候就报错了,后来找到了解决办法. 先是从http://sourceforge.net/projects/cx-freeze/files/上下载cx_Freeze(版本4.3.3)的包 解压,执行:sudo python setup.py install 出现的错误如下: adding base modul

Sublime Text 无法使用Package Control或插件安装失败的解决方法(转)

Sublime Text用了一年多了,公司搬家最近突然发现Package Control无法安装新插件了,虽然不影响原有功能的使用,还是要解决它.由于本人用Windows系统,只讨论Windosw下的解决方法.Mac与Linux下的用户可以参照解决. 本文主要介绍Sublime Text如何开启debug模式,分析使用过程中一些常见错误情形的解决方法.情形一:Package Control:There are no packages available for installation.情形二: