最新移植了一个Linux程序到Windows,由于使用的Botan库最低要求 vc 2015 才能编译,所以没多想,整个程序也只能用vc 2015。
在开发机上一切都正常,程序编译执行都非常顺利,结果没有想到的事发生了。程序最终是要在一台windows 2008 R2服务器上运行,用visual studio installer打包的安装包在安装时报安装包有问题,直接放上执行文件说是缺少api-ms-win-crt-string-|1-1-0.dll。
以为是缺少vcredist,就安装了一下vc 2015的vcredist,结果没有任何用处。
查找到这篇文章《api-ms-win-crt-string-|1-1-0.dll and others missing from computer》,说得比较靠谱,需要一个什么 Update for Universal C Runtime in Windows
于是就去下载了这个Windows6.1-KB2999226-x64.msu,跑windows 2008 R2上一安装,直接说这个更新不适用于本系统。
仔细看了一下这个更新的说明

这个更新支持Windows Server 2008 R2 Service Pack 1。结果就是一顿操作猛如虎,重启N次把Service Pack 1打上,再装那个KB2999226,Ok顺利装上。
再运行我自己的程序,正常了。
微软的东西怎么就这么麻烦呢?
后来又看了一下Visual Studio 2015的最低要求:

这货的确只支持 Windows Server 2008 R2 SP1。
搞出这么多商业版本,实在是害人不浅啊,我花在安装上的时间都快要超过开发了。

本文详细记录了解决在Windows Server 2008 R2上运行由Visual Studio 2015编译的程序所遇到的缺失api-ms-win-crt-string-l1-1-0.dll问题的过程,通过安装Service Pack 1和Universal C Runtime更新最终使程序得以正常运行。
1万+

被折叠的 条评论
为什么被折叠?



