블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

VCRUNTIME140_1.dll 없음 오류 원인 4가지와 증상별 해결 순서 (윈도우 10·11)

이 글을 3줄로 요약하면

· VCRUNTIME140_1.dll은 Visual C++ 재배포 가능 패키지(v14)에 들어 있는 런타임 파일입니다. 이름이 비슷한 VCRUNTIME140.dll과는 다른 파일입니다.

· "VCRUNTIME140.dll은 있는데 _1만 없다"가 이 오류의 전형적인 모습이고, 그 자체가 패키지 버전이 낮다는 신호입니다.

· 재설치로 안 끝나는 경우는 비트수·격리·시스템 파일 쪽입니다. 아래 판별표에서 자기 경우를 먼저 찾으세요.

VCRUNTIME140_1.dll은 정확히 어떤 파일인가

뒤에 붙은 _1 하나가 이 오류의 성격을 거의 다 설명합니다.

VCRUNTIME140_1.dll은 마이크로소프트 Visual C++ 재배포 가능 패키지에 포함된 C++ 런타임 파일입니다. C++로 만든 프로그램은 예외 처리나 메모리 관리 같은 공통 기능을 이 런타임에 맡기기 때문에, 파일이 없으면 프로그램이 첫 화면조차 띄우지 못하고 종료됩니다.

중요한 점은 VCRUNTIME140.dll과 VCRUNTIME140_1.dll이 서로 다른 파일이라는 것입니다. 뒤에 붙은 _1은 x64 환경의 예외 처리 기능이 따로 떨어져 나오면서 뒤늦게 추가된 구성 요소입니다. 그래서 2015년 무렵의 오래된 재배포 패키지만 깔려 있는 PC에는 VCRUNTIME140.dll은 있는데 _1은 없는 상태가 만들어집니다.

"예전에 VCRUNTIME140.dll 오류를 해결했는데 이번엔 _1이 없다고 뜬다"는 상황이 흔한 이유가 여기 있습니다. 두 파일은 같은 패키지에 들어 있지만, 설치돼 있는 패키지의 버전이 낮으면 뒤에 추가된 쪽만 빠집니다.

또 하나 알아 둘 점은 2015년 이후의 v14 재배포 패키지가 버전별로 따로 쌓이지 않는다는 것입니다. 마이크로소프트 문서에 따르면 Visual Studio 2015·2017·2019·2022로 만든 프로그램이 모두 같은 최신 v14 패키지 하나를 함께 씁니다. 그래서 최신 버전 하나만 제대로 깔면 여러 프로그램의 런타임 오류가 한꺼번에 정리되는 경우가 많습니다.

증상으로 원인 좁히기

같은 메시지라도 어떤 상황에서 떴는지에 따라 손댈 곳이 다릅니다.

증상 유력한 원인 먼저 볼 항목
System32에 VCRUNTIME140.dll은 있는데 _1만 없다 설치된 재배포 패키지 버전이 낮음 원인 A → 최신 패키지 설치
설치된 앱 목록에 Visual C++ 항목이 하나도 없다 재배포 패키지 자체가 미설치 원인 A → 새로 설치
x64는 깔았는데 특정 프로그램만 계속 같은 오류 그 프로그램이 32비트라 x86 런타임이 필요 원인 B → x86 추가 설치
잘 쓰던 프로그램이 어느 날 갑자기 이 오류를 냄 백신이 파일을 격리했거나 패키지가 손상됨 원인 C → 격리 기록 확인
패키지를 설치하려는데 설치 자체가 실패로 끝난다 시스템 파일·구성 요소 저장소 손상 원인 D → sfc·DISM
한 프로그램만 문제고 다른 프로그램은 전부 정상 프로그램 폴더에 딸린 옛 런타임이 먼저 로드됨 원인 C → 해당 프로그램 재설치

대부분은 원인 A에서 끝납니다

이 오류는 원인이 한쪽으로 크게 쏠려 있습니다. 다만 A로 안 끝났을 때 무작정 재설치를 반복하면 시간만 쓰게 되므로, 표에서 자기 증상이 A가 아닌 쪽을 가리키면 그 항목으로 바로 넘어가는 편이 낫습니다.

원인 A재배포 패키지가 없거나 버전이 낮다

VCRUNTIME140.dll은 있는데 _1만 없다면 거의 이 경우입니다.

먼저 지금 무엇이 깔려 있는지부터 봅니다. 설치된 앱 목록에서 Visual C++을 검색하면 연도·비트수·버전 번호가 함께 나옵니다. 항목이 아예 없거나 2015년대 초기 버전만 보인다면 그 자체가 답입니다.

1설치된 앱 목록에서 현재 버전을 확인한다

설정의 앱 → 설치된 앱에서 Visual C++으로 검색합니다. "Microsoft Visual C++ 2015-2022 Redistributable (x64)" 같은 항목이 보이고 버전이 14.30 이상이면 최신 계열, 14.0대에서 멈춰 있으면 옛 버전입니다.

2마이크로소프트 공식 페이지에서 최신 v14 패키지를 받는다

아래 참고 문서의 "최신 지원되는 Visual C++ 재배포 가능 패키지 다운로드" 페이지에 x64·x86·ARM64 링크가 정리돼 있습니다. 64비트 윈도우라면 vc_redist.x64.exe가 기본이고, 아래 원인 B의 이유로 vc_redist.x86.exe도 함께 두는 편이 안전합니다.

3이미 설치돼 있으면 제거 대신 복구를 고른다

설치 파일을 실행했을 때 복구 / 제거 선택 창이 뜨면 복구를 누릅니다. 설치된 앱 목록에서 항목 오른쪽 점 세 개를 눌러 수정으로 들어가도 같은 창이 나옵니다. 빠진 파일만 다시 채워 넣기 때문에 제거 후 재설치보다 안전하고 빠릅니다.

4설치가 끝나면 반드시 재부팅한다

이미 실행 중이던 프로세스는 옛 로드 정보를 그대로 들고 있습니다. 재부팅 없이 프로그램만 다시 켜면 같은 오류가 그대로 나오는 경우가 있어, 확인은 재부팅 뒤에 합니다.

dll 파일만 따로 내려받아 System32에 넣지 않습니다

"vcruntime140_1.dll 다운로드"로 검색하면 파일 하나만 주는 사이트가 여럿 나옵니다. 출처와 서명이 확인되지 않은 실행 코드를 시스템 폴더에 직접 넣는 방식이라 보안상 권장되지 않고, 버전이 맞지 않으면 오류가 다른 파일 이름으로 옮겨 갈 뿐입니다. 정식 패키지는 필요한 파일 묶음을 버전이 맞는 상태로 함께 설치합니다.

이 방법이 안 통하는 경우

최신 패키지를 설치했는데도 같은 프로그램만 계속 오류를 낸다면, 설치한 것과 프로그램이 요구하는 비트수가 다른 경우입니다. 원인 B로 넘어갑니다. 설치 자체가 오류로 끝난다면 원인 D를 먼저 처리해야 합니다.

같이 나오는 오류입니다 VCRUNTIME140.dll·MSVCP140.dll 없음 오류 원인 4가지와 증상별 해결 순서 (윈도우 10·11) _1이 아닌 쪽이 함께 없다고 뜬다면 확인 순서가 조금 달라집니다 · 눌러서 확인하기 →

원인 B32비트·64비트 불일치

"분명히 깔았는데 그 프로그램만 안 된다"의 대부분이 여기입니다.

64비트 윈도우는 두 벌의 런타임을 따로 보관합니다. 64비트용은 C:\Windows\System32에, 32비트용은 이름과 달리 C:\Windows\SysWOW64에 들어갑니다.

32비트 프로그램은 SysWOW64 쪽만 봅니다. 그래서 x64 패키지만 설치한 PC에서 32비트 프로그램을 켜면 파일이 분명히 있는데도 없다는 메시지가 뜹니다. 마이크로소프트 문서도 재배포 패키지의 아키텍처는 프로그램의 아키텍처와 맞아야 한다고 명시하고 있습니다.

1문제 프로그램이 몇 비트인지 확인한다

작업 관리자의 세부 정보 탭에서 열 머리글을 우클릭해 플랫폼 열을 추가하면 실행 중인 프로그램이 32비트인지 64비트인지 바로 보입니다. 설치 경로가 Program Files (x86)이면 32비트일 가능성이 높습니다.

2양쪽 폴더에 파일이 있는지 각각 검색한다

System32와 SysWOW64 두 폴더에서 각각 vcruntime140_1.dll을 검색합니다. 한쪽에만 있다면 없는 쪽의 패키지가 빠진 것이고, 그 비트수의 vc_redist를 설치하면 됩니다.

3헷갈리면 x64와 x86을 둘 다 설치한다

두 패키지는 서로 다른 폴더를 쓰기 때문에 충돌하지 않고 함께 설치됩니다. 64비트 윈도우라면 둘 다 깔아 두는 것이 가장 확실합니다.

이 방법이 안 통하는 경우

양쪽 폴더에 파일이 다 있는데도 같은 메시지가 뜬다면, 윈도우가 그 파일을 못 읽는 상태이거나 프로그램이 자기 폴더의 다른 파일을 먼저 집어 든 것입니다. 원인 C로 넘어갑니다.

원인 C백신 격리·설치본 손상으로 파일이 사라짐

"어제까지 잘 되던 프로그램"이 갑자기 이 오류를 낼 때 봅니다.

런타임 DLL은 여러 프로그램이 공유하는 파일이라, 보안 프로그램이 오탐으로 격리하면 관련 없는 프로그램들이 한꺼번에 같은 오류를 냅니다. 특정 프로그램이 자기 설치 폴더에 옛 런타임을 함께 넣어 두었다가 그쪽이 먼저 로드되는 경우도 있습니다.

1보호 기록에서 격리된 항목을 확인한다

윈도우 보안의 바이러스 및 위협 방지 → 보호 기록에 최근 차단·격리된 파일이 남습니다. 목록에 vcruntime 계열이나 문제 프로그램의 실행 파일이 있으면 작업 → 허용으로 되돌립니다. 다른 백신을 쓴다면 그 프로그램의 격리·검역 목록을 봅니다.

2같은 일이 반복되면 해당 폴더를 제외 목록에 넣는다

복구해도 다시 격리된다면 오탐이 계속되는 것입니다. 윈도우 보안의 제외 추가 또는 제거에서 그 프로그램의 설치 폴더를 등록해 두면 반복을 막을 수 있습니다. 제외는 필요한 폴더 하나만, 최소 범위로 잡는 것이 안전합니다.

3한 프로그램만 문제라면 그 프로그램을 다시 설치한다

프로그램 설치 폴더 안에 vcruntime140_1.dll이 따로 들어 있다면, 윈도우는 시스템 폴더보다 그 파일을 먼저 봅니다. 그 파일이 손상됐거나 버전이 맞지 않으면 시스템에 정상 파일이 있어도 오류가 납니다. 이 경우 해당 프로그램만 제거 후 재설치하면 정리됩니다.

여러 프로그램이 동시에 같은 오류를 낸다면 격리를 먼저 의심합니다

서로 무관한 프로그램들이 같은 날부터 같은 dll을 못 찾는다면, 각 프로그램이 아니라 공유 파일 쪽에 일이 생긴 것입니다. 이때는 재설치를 여러 번 하기 전에 보호 기록부터 보는 편이 빠릅니다.

이 방법이 안 통하는 경우

보호 기록에 아무것도 없고 재설치도 소용이 없다면, 파일 자체가 아니라 윈도우의 시스템 파일·구성 요소 저장소가 깨진 상태일 수 있습니다. 재배포 패키지 설치가 도중에 실패로 끝나는 것도 같은 신호입니다. 원인 D로 넘어갑니다.

원인 D시스템 파일 손상과 미적용 업데이트

패키지 설치 자체가 실패로 끝난다면 여기부터 고쳐야 합니다.

재배포 패키지는 설치 과정에서 윈도우 인스톨러와 구성 요소 저장소를 함께 씁니다. 이쪽이 깨져 있으면 설치가 끝까지 가지 못하고, 결과적으로 dll도 채워지지 않습니다.

1구성 요소 저장소를 먼저 복구한다

DISM /Online /Cleanup-Image /RestoreHealth

시작 버튼을 우클릭해 터미널(관리자)에서 실행합니다. sfc가 복구본을 꺼내 오는 저장소를 먼저 고치는 단계라 순서가 중요합니다. 인터넷 연결이 있어야 부족한 파일을 내려받습니다.

2그 다음 시스템 파일을 검사한다

sfc /scannow

"확인 100% 완료" 뒤에 나오는 문장이 결과입니다. 손상을 찾아 복구했다고 나오면 재부팅한 뒤 재배포 패키지 설치를 다시 시도합니다.

3선택적 업데이트까지 설치한다

설정의 Windows 업데이트 → 고급 옵션 → 선택적 업데이트에 남아 있는 항목을 설치하고 재부팅합니다. 누적 업데이트가 밀려 있으면 인스톨러 관련 구성 요소가 옛 상태로 남아 설치가 실패하는 경우가 있습니다.

이 방법이 안 통하는 경우

sfc가 "일부는 복구하지 못했습니다"로 끝나고 DISM도 오류 코드를 낸다면, 업데이트 구성 요소 쪽이 더 깊게 깨진 상태입니다. 그때는 이 오류 하나만 좇지 말고 업데이트 오류를 먼저 정리해야 합니다. 아래 함께 보면 좋은 글의 구성 요소 저장소 손상 편이 그 순서를 다룹니다.

어느 파일이 정말 없는지 정확히 찾아내는 법

오류 창의 파일 이름이 항상 진짜 원인은 아닙니다. 로그가 그걸 가려 줍니다.

DLL 오류 창은 가장 먼저 걸린 파일 하나만 알려 줍니다. 실제로는 여러 파일이 함께 빠져 있어서, 하나를 채우면 다음 파일 이름으로 오류가 옮겨 가는 일이 흔합니다. 그래서 창에 뜬 이름만 좇기보다 아래 두 가지를 확인하는 편이 빠릅니다.

1이벤트 뷰어에서 오류 모듈 이름을 읽는다

이벤트 뷰어의 Windows 로그 → 응용 프로그램에서 프로그램을 실행한 시각의 오류 항목을 엽니다. 아래 일반 탭에 오류 모듈 이름과 예외 코드가 적혀 있어, 정말 런타임 쪽에서 막힌 것인지 다른 모듈에서 막힌 것인지 구분됩니다.

2파일 버전이 같은 계열인지 확인한다

wmic datafile where name="C:\\Windows\\System32\\vcruntime140_1.dll" get version

파일이 있는데도 오류가 난다면 버전이 서로 어긋난 경우입니다. System32와 SysWOW64, 그리고 프로그램 설치 폴더에 있는 같은 이름 파일들의 버전이 같은 계열인지를 비교합니다. 파일을 우클릭해 속성 → 자세히 탭에서 확인해도 같습니다.

오류 모듈 이름이 vcruntime140_1.dll이 아닌 다른 파일로 나온다면, 런타임은 정상이고 프로그램 쪽에서 다른 문제가 나고 있다는 뜻입니다. 그때는 재배포 패키지를 계속 재설치할 것이 아니라 프로그램 재설치나 호환성 쪽을 봐야 합니다.

자주 묻는 질문

비슷한 이름과 비슷한 코드 때문에 자주 엇갈리는 부분을 정리했습니다.

Q.VCRUNTIME140.dll 오류와 VCRUNTIME140_1.dll 오류는 같은 문제인가요?

A.파일은 서로 다르지만 같은 재배포 패키지에 함께 들어 있습니다. 그래서 최신 v14 패키지를 제대로 설치하면 두 오류가 함께 정리되는 경우가 많습니다. 다만 _1만 없다는 메시지는 "패키지 버전이 낮다"는 쪽을 더 강하게 가리킵니다.

Q.2015·2017·2019·2022를 전부 따로 설치해야 하나요?

A.아닙니다. 마이크로소프트 문서 기준으로 2015 이후 버전은 하나의 v14 패키지를 공유합니다. 설치된 앱 목록에 "2015-2022"처럼 묶여 표시되는 이유가 그것입니다. 2013 이하는 별개라서 옛 프로그램을 쓴다면 그 버전만 따로 필요할 수 있습니다.

Q.기존 항목을 제거하고 다시 까는 것과 복구 중 무엇이 나은가요?

A.복구가 먼저입니다. 제거를 하면 그 런타임을 쓰던 다른 프로그램들이 일시적으로 함께 실행되지 않고, 제거 도중 실패하면 상태가 더 애매해집니다. 복구로 해결되지 않을 때만 제거 후 재설치를 시도합니다.

Q.ARM64 노트북에서는 무엇을 설치해야 하나요?

A.ARM64용 vc_redist가 따로 제공됩니다. 참고로 마이크로소프트 문서는 x64 패키지 안에 ARM64 바이너리가 함께 들어 있다고 안내하고 있어, ARM64 기기에서는 x64 패키지 설치로도 필요한 구성 요소가 채워집니다. 반대로 x86 윈도우에 x64나 ARM64 패키지를 설치할 수는 없습니다.

함께 보면 좋은 글

같은 런타임 계열에서 갈라져 나오는 오류들을 따로 정리해 뒀습니다.

api-ms-win-crt-runtime-l1-1-0.dll이 없습니다 오류 해결법 총정리 같은 C 런타임 계열이지만 윈도우 업데이트 쪽을 먼저 봐야 하는 오류 · 눌러서 확인하기 → 0xc000007b 오류 원인 4가지와 증상별 해결 순서 (윈도우 10·11 공통) 같은 32비트·64비트 불일치가 dll 이름 없이 코드로만 뜰 때 · 눌러서 확인하기 → 윈도우 업데이트 0x800f0831 오류 해결 방법 (SFC·DISM·업데이트 초기화) 구성 요소 저장소가 깨져 sfc·DISM이 끝까지 안 될 때 · 눌러서 확인하기 →
확인 환경 · 윈도우 11 24H2 / 윈도우 10 22H2 기준, 2026년 8월 확인
참고 문서 · Microsoft Learn — 최신 지원되는 Visual C++ 재배포 가능 패키지 다운로드

광고자리 · 글 아래