본문 바로가기

툴-팁

api-ms-win-crt-runtime-l1-1-0.dll 이(가) 없어 프로그램을 시작할 수 없습니다.

반응형

업무용 컴퓨터에 얼마 전부터 (글 작성시점은 2015년 8월) 


"컴퓨터에 api-ms-win-crt-runtime-l1-1-0.dll이(가) 없어 프로그램을 시작할 수 없습니다. 프로그램을 다시 설치하여 이 문제를 해결하십시오."


api-ms-win-crt-runtime-l1-1-0.dll is missing <-- 구글링한 문장은 이것.


란 메시지 박스가, 일부 프로그램을 실행할 때마다 떴다. 메시지 박스의 "확인"버튼만 눌러주면 프로그램은 정상적으로 실행되는 것 같았지만, 꺼림직하여 구글링으로 문제의 해결방법을 찾았다.


문제는 visual studio 2015용 visual c++ 재배포 패키지를 마이크로소프트에서 다운받아 설치하여 해결됐다. 32비트 재배포 패키지와 64비트 재배포 패키지를 받을 수 있는데, 나의 경우는 64비트 재배포 패키지만 받아서 깔아 해결됐다.


문제가 발생한 환경은 한국어 윈도우7 64비트.



트랙백 걸린 포스팅에서는 인터넷에서 dll 파일을 검색하여 다운로드한 이후에 system32 폴더에 복사해 넣으라는 솔루션을 제시하지만, 이런 방법은 추천하지 않습니다.

  1. 인터넷 검색으로 나오는 dll 은 악의적인 사용자에 의해 변조된 파일일 수 있습니다. 즉, 내손으로 내 시스템에 악성코드를 심는 것일 수 있음.
  2. 동일한 이름의 dll 이라고 해도 실제로는 다른 것일 수 있음. 가장 극명하게는 32비트용 dll, 64비트용 dll 이 같은 이름을 가지고 있을 수 있음. system32 와 syswow64에 동일한 이름의 시스템 dll들이 복수로 존재함.
  3. dll 한 두 개만 복사해 넣었을 때, 다른 디펜던시로 인해 계속 다른 dll 을 복사해 집어넣어야 할 수 있음. 디펜던시란 a.dll 이 정상동작하기 위해선 b.dll 이, b.dll 이 정상동작하기 위해서는 c.dll 이 필요한 상황을 말합니다.
  4. 그래서 신뢰할 수 있는 제조사의 원본(제조사 공식 사이트를 통해서)을, 가능하면 설치파일을 설치하는 것을 권합니다.



728x90