无法启动此程序,因为计算机中丢失 api-ms-win-crt-stdio-l1-1-0.dll 解决

在Windows Server 2012 R2系统上运行程序遇到缺失api-ms-win-crt-stdio-l1-1-0.dll的问题。尝试安装VC2015x64版本、复制dll文件到程序目录及使用补丁等方法均未成功。最终发现是由于缺少基础依赖dll导致,将相应dll拷贝到程序目录后,程序能正常运行。问题解决的关键在于正确识别和处理dll的依赖关系。

问题描述

最近用一台Windows Server 2012 R2系统的机器的时候碰到了这个问题。
693958-20170512153452519-844850695.png

因为在网上看了很多解决方案,都没有很好的解决。所以记录一下这个问题的解决。

之前使用VS2013编译出的程序,是没有这个问题的。这个问题仅仅出现在VS2015编译的程序上。

重新安装了一个 Windows server 2008 R2的虚拟机,然后安装了vc_redist.exe(VC2015x64版本),运行程序是没有问题的。这个winserver2008的系统镜像是下载的微软原版的,所以这里猜测安装win server 2012的服务器安装的系统可能并不是完整的。

解决过程

通过在服务器上的C:\Windows\System32(64位系统System32下是64位dll,SysWOW64目录下是32位dll)下搜索也没有找到相关的dll文件。
根据网上的一些资料,解决的办法就是安装VC运行时库KB2999226补丁。这个方法我尝试过了,但是没有效果。微软提供了WindowsUCRT.zip(Windows 10 通用 C 运行时 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值