I. BACKGROUND
Recently used in Python under the Cx_oracle module, the development environment test normal, with cx_freeze packaging, to the user machine on a deployment, a variety of weird problems frequency, the operating environment is as follows:
A, development environment: 64-bit WIN10 operating system, install 32-bit python,32-bit Oracle client,32-bit Firefox.
B, Production environment: 64-bit Win7 operating system, 64-bit WIN8 operating system, 32-bit Win7 operating system, 32-bit WIN8 operating system ... More complex, all kinds of situations have.
There are two main problems: 1, Python classic Chinese characters problem, 2, vc2015 dependency problem, here the emphasis is vc2015 dependency problem.
The error message is as follows, indicating that Api-ms-win-crt-runtime-l1-1-0.dll is missing.
Second, reason analysis
The reason is simple, cx_oracle is compiled under vc2015, so run Cx_oracle.pyd need vc2015 run environment.
Baidu a bit, found that the problem is very common, the solution is very similar (which is the most accurate and comprehensive information of this address, http://blog.csdn.net/huqiao1206/article/details/50768481)
Overall the process is very time-consuming, a realistic version of the "domino effect", in order to a VC2015 operating environment, the poor did not put the operating system re-installed.
The specific process is as follows, basically consistent with the post.
1, install vc2015 release package, the last error, prompted to install the KB2999226 patch first.
2, install KB2999226 patch, also prompted to install Win7 SP1 (later found WIN8 system, also have the same problem).
3, installation Win7 SP1, because the machine has not been normal to open the update, the installation of SP1, and encountered a new error, various patches.
Third, the new solution
The aforementioned is a conventional solution, fortunately, after a multi-party search and repeated attempts to find a new solution, the idea is as follows:
1, to the normal machine, or in the development environment, to search for api-ms-win-crt-runtime-l1-1-0.dll files.
The results were found in C:\windows\system32, as well as C:\Windows\SysWOW64, and C:\Program files (x86) \mozilla Firefox.
Three directories, which one do you choose? A problem involving a new 64-bit system 32-bit DLL. I have consulted this article, https://jingyan.baidu.com/article/454316ab73ce1ef7a7c03a01.html
The rules are as follows:
A, 64-bit operating system, 32-bit program, select SYSWOW64 under DLL
B, 64-bit operating system, 64-bit program, select System32 under DLL
C, 32-bit operating system, 32-bit program, select System32 under DLL
2. Copy all DLLs starting with Api-ms, and Msvcp140.dll,vcruntime140.dll,ucrtbase.dll to the program directory.
Altogether 44 documents.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
驱动器 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 可用字节
|
At this point, the successful resolution of api-runtime is really wrong, no need to install vc2015 runtime, there is no need to upgrade SP1.
Summarize:
1, the first inspiration in fact from the search, accidental search to the Firefox directory, a series of APIs to find the beginning of the file.
2, bold but cautious, repeated attempts, the most beginning to go a lot of detours, including what registered DLL, in fact, are wrong, the key is in the Ucrtbase.dll file must have.
<--end-->
Reprint-Do not install vc2015 Redistributable Resolve Api-ms-win-crt-runtime-l1-1-0.dll lost error