블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

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

이 글을 3줄로 요약하면

· 파일 이름의 110은 Visual Studio 2012의 버전 번호입니다. 그 프로그램의 파일이 아니라 2012 런타임이 시스템에 깔아 두는 공용 파일입니다.

· 그래서 오류 창이 권하는 대로 프로그램만 다시 설치하면 증상이 그대로입니다. 고칠 자리가 프로그램 쪽이 아닙니다.

· 원인은 네 갈래입니다. 아래 판별표에서 자기 증상을 먼저 찾고 그 섹션만 처리하면 됩니다.

MSVCR110.dll·MSVCP110.dll은 정확히 무슨 파일인가

이름 세 조각을 나눠 읽으면 어디를 고쳐야 하는지가 바로 정해집니다.

이름은 세 조각으로 읽습니다. MSVC는 Microsoft Visual C++, 뒤의 110은 Visual Studio 2012의 버전 번호(VC++ 11.0)입니다. 가운데 한 글자만 다릅니다.

파일 담당 어디서 오는가
MSVCR110.dll C 런타임(Runtime) 둘 다 Visual C++ 2012 재배포 가능 패키지 하나에 들어 있습니다
MSVCP110.dll C++ 표준 라이브러리

그래서 두 이름 중 어느 쪽이 뜨든 해결 절차는 같습니다. 한쪽만 없어서 뜨는 경우도 있지만, 같은 패키지에서 함께 설치되는 파일이라 패키지를 통째로 다루는 것이 정답입니다.

중요한 점은 이 파일들이 프로그램 폴더가 아니라 윈도우 시스템 폴더에 설치된다는 것입니다. 프로그램 설치 파일 안에 들어 있는 게 아니라, 재배포 패키지를 설치해야 시스템에 생깁니다.

그래서 프로그램을 지웠다 다시 깔아도 증상이 똑같습니다. 오류 창의 "프로그램을 다시 설치해 보세요"라는 안내는 이 경우 맞지 않는 처방입니다. 없는 것은 프로그램 파일이 아니라 시스템 쪽 런타임이기 때문입니다.

최신 재배포 패키지를 깔아도 110은 생기지 않습니다

연도별 런타임은 서로를 대체하지 않습니다. 마이크로소프트 문서도 2013 및 그 이전 버전의 재배포 패키지는 나란히(side by side) 설치된 채로 남는다고 설명합니다. 즉 최신 2015~2022 패키지가 이미 깔려 있어도 2012용 파일은 따로 설치해야 생깁니다. "최신 걸로 깔았는데 그대로"의 대부분이 이 착각입니다.

참고로 Visual Studio 2012는 2023년 1월 10일에 연장 지원이 종료됐고, 2012용 재배포 패키지의 마지막 버전은 Update 4로 x86·x64 모두 11.0.61030.0입니다. 새 버전이 더 나오지 않는다는 뜻이라, "업데이트가 안 돼서 그런가"를 의심할 필요는 없습니다.

증상으로 원인 좁히기

창에 뜬 문구와 그때까지 한 일이 원인을 거의 결정합니다.

증상 유력한 원인 먼저 볼 항목
새 PC·새로 민 윈도우에서 프로그램을 처음 켤 때 떴다 2012 재배포 패키지가 아예 없다 원인 A → 패키지 설치
설치된 앱 목록에 2012가 있는데도 계속 뜬다 x86·x64 중 프로그램이 쓰는 쪽이 없다 원인 B → 나머지 한쪽 설치
전에는 되던 프로그램이 어느 날부터 안 된다 설치된 패키지 파일이 손상됐다 원인 C → 수정·복구
여러 프로그램이 동시에 같은 오류를 낸다 시스템 폴더의 공용 파일이 깨졌다 원인 C → 이후 원인 D
문구가 "잘못된 이미지"·"프로시저를 찾을 수 없습니다"로 바뀌었다 버전이 어긋난 DLL이 잡혀 있다 원인 D → 수동 파일 정리
깔았다 지웠다를 반복했고 지금은 뭐가 깔렸는지 모르겠다 상태 파악이 안 된 것 섹션 7 → 현재 상태 확인

오류 창의 문구를 그대로 옮겨 적어 두세요

"없기 때문에 실행되지 않습니다"와 "잘못된 이미지입니다", "프로시저를 찾을 수 없습니다"는 서로 다른 상태를 가리킵니다. 앞의 것은 파일이 없는 것, 뒤의 둘은 파일은 있는데 맞지 않는 파일이 잡힌 것입니다. 이 차이가 원인 D로 갈지 말지를 가릅니다.

원인 A2012 재배포 패키지가 설치돼 있지 않다

가장 흔한 갈래입니다. 여기서 끝나는 경우가 많습니다.

1지금 무엇이 깔려 있는지 먼저 본다

Win + I → 좌측 "앱" → "설치된 앱" → 우측 상단 검색창에 Visual C++ 입력. 이름에 2012가 들어간 항목이 있는지, 있다면 (x86)·(x64) 중 무엇이 있는지 확인합니다. 이 화면 하나로 원인 A와 원인 B가 갈립니다.

2마이크로소프트 공식 문서에서 2012 항목을 받는다

글 하단 참고 문서의 재배포 패키지 안내 페이지에서 Visual Studio 2012(VC++ 11.0) Update 4 항목을 찾습니다. x86·x64 링크가 나란히 있고, 문서에 적힌 버전은 양쪽 모두 11.0.61030.0입니다. 받은 파일의 속성에서 이 버전이 맞는지 대조하면 잘못된 배포본을 걸러낼 수 있습니다.

3설치한 뒤 한 번은 재부팅하고 확인한다

이미 실행 중이던 프로세스는 옛 상태를 그대로 들고 있습니다. "깔았는데 그대로"의 상당수가 재부팅 전 확인입니다. 재부팅 후 처음 오류가 났던 그 프로그램으로 확인합니다.

이 방법이 안 통하는 경우

설치를 마쳤는데도 같은 창이 뜬다면, 프로그램이 쓰는 비트수와 설치한 패키지가 어긋났을 가능성이 큽니다. 원인 B로 넘어가 나머지 한쪽을 채우세요. 설치 도중 "이미 설치되어 있습니다"에서 막혔다면 원인 C가 맞습니다.

원인 Bx86·x64 중 한쪽만 설치돼 있다

"목록에 2012가 분명히 있는데도 뜬다"면 거의 여기입니다.

64비트 윈도우를 쓰더라도 32비트로 만들어진 프로그램은 32비트(x86) 런타임을 씁니다. 오래된 프로그램이나 유틸리티는 지금도 32비트가 많아, x64만 깔려 있으면 그대로 오류가 납니다. 반대 경우도 마찬가지입니다.

폴더 이름이 헷갈리는 지점입니다. 64비트 윈도우에서 System32에는 64비트 파일이, SysWOW64에는 32비트 파일이 들어갑니다. 이름과 내용이 반대로 보이지만 규칙이 그렇습니다.

1x86과 x64를 모두 설치한다

둘은 서로 다른 폴더에 들어가 충돌하지 않습니다. 프로그램이 어느 쪽인지 확실치 않다면 양쪽을 모두 설치하는 편이 실패 확률이 가장 낮습니다.

2실제로 어느 폴더에 들어갔는지 눈으로 확인한다

Win + E → 주소창에 C:\Windows\SysWOW64를 넣고 검색창에 msvcr110.dll을 입력합니다. 여기 있으면 32비트가 설치된 것입니다. C:\Windows\System32에도 같은 방법으로 확인하면 64비트 쪽이 채워졌는지 알 수 있습니다.

3프로그램이 몇 비트인지 확인하는 법

설치 경로가 Program Files (x86) 아래면 32비트 프로그램입니다. 또는 Ctrl + Shift + Esc로 작업 관리자를 열고 "세부 정보" 탭에서 열 머리글을 우클릭해 "플랫폼" 열을 추가하면 실행 중인 프로세스가 32비트인지 64비트인지 그대로 표시됩니다.

이 방법이 안 통하는 경우

x86·x64가 모두 설치돼 있고 두 폴더에서 파일도 확인되는데 여전히 같은 창이 뜬다면, 파일은 있는데 정상이 아닌 상태입니다. 원인 C의 복구로 넘어가세요.

원인 C설치는 돼 있는데 파일이 손상됐다

"전에는 되던 프로그램이 어느 날부터"에 해당하면 여기입니다.

패키지는 목록에 남아 있지만 실제 파일이 지워지거나 깨진 상태가 있습니다. 다른 프로그램을 제거하면서 공용 파일까지 함께 지워진 경우, 백신이 오탐으로 격리한 경우, 비정상 종료가 반복된 경우가 여기에 해당합니다.

1제거가 아니라 "수정 → 복구"를 먼저 쓴다

"설치된 앱" 목록에서 2012 항목 우측의 점 세 개(⋯) → "수정"을 누르면 복구 / 제거 선택 창이 나옵니다. 복구를 고르면 설정을 유지한 채 파일만 다시 씁니다. 제거부터 하면 되돌릴 지점이 사라지므로 순서가 중요합니다.

2복구로도 안 되면 제거 후 재부팅하고 다시 설치한다

x86·x64 항목을 모두 제거하고 반드시 재부팅한 뒤 새로 설치합니다. 재부팅을 건너뛰면 등록 정보가 남아 "이미 설치되어 있습니다"에서 막히는 경우가 많습니다.

3백신이 파일을 가져갔는지 확인한다

Win + I → "개인 정보 및 보안" → "Windows 보안" → "바이러스 및 위협 방지" → "보호 기록"에서 격리된 항목에 해당 DLL이 있는지 봅니다. 격리돼 있다면 복원하기 전에 패키지를 정식으로 다시 설치하는 편이 안전합니다.

이 방법이 안 통하는 경우

복구·재설치를 마쳤는데도 그대로라면, 과거에 DLL 파일을 손으로 넣은 이력이 있는지 떠올려 보세요. 정식 파일 위에 다른 버전이 덮여 있으면 재설치로도 정리되지 않는 경우가 있습니다. 원인 D로 넘어갑니다.

원인 D인터넷에서 받은 DLL을 직접 넣었다

해결책처럼 보이지만 증상을 더 어렵게 만드는 갈래입니다.

"dll 파일만 받아서 System32에 넣으라"는 안내를 따라 한 경우입니다. 이렇게 넣은 파일은 버전과 의존 관계가 맞지 않는 경우가 많아, 오류 문구가 다음처럼 바뀌면서 원인 추적이 더 어려워집니다.

"…는 Windows에서 실행되도록 설계되지 않았거나 오류가 있습니다" / "잘못된 이미지입니다" / "지정된 프로시저를 찾을 수 없습니다"

문구가 이렇게 바뀌었다면 파일이 없어서가 아니라 맞지 않는 파일이 잡혀서 나는 상태입니다. 넣은 파일을 걷어내고 정식 경로로 되돌리는 것이 순서입니다.

1손으로 넣은 파일을 먼저 치운다

System32·SysWOW64나 프로그램 폴더 안에 직접 복사해 둔 msvcr110.dll·msvcp110.dll이 있으면 삭제 대신 다른 폴더로 옮겨 둡니다. 잘못 판단했을 때 되돌릴 수 있게 하기 위해서입니다.

2시스템 파일 검사로 시스템 폴더를 정리한다

sfc /scannow

시작 버튼 우클릭 → "터미널(관리자)"에서 실행합니다. 시스템 폴더 안의 보호 대상 파일이 바뀌어 있으면 정상 파일로 되돌립니다. 5~15분 걸리며 창을 닫지 않습니다.

3정식 패키지를 다시 설치한다

치운 자리를 2012 재배포 패키지 설치로 채웁니다. 원인 A의 절차와 같습니다. 이 순서를 지켜야 "맞지 않는 파일"과 "없는 파일"이 섞이지 않습니다.

dll 개별 다운로드를 권하지 않는 이유

런타임 DLL은 같은 패키지의 다른 파일과 짝을 이뤄 동작합니다. 파일 하나만 다른 버전으로 바꾸면 짝이 어긋나 위와 같은 문구로 증상이 옮겨 갑니다. 게다가 비공식 배포본은 변조 위험도 있습니다. 패키지 단위 설치가 결국 가장 빠릅니다.

이 방법이 안 통하는 경우

네 갈래를 모두 처리했는데도 같은 창이 뜬다면, 빠진 것이 110이 아닐 수 있습니다. 섹션 7에서 로그에 남은 실제 파일 이름을 확인하세요. 숫자만 다른 다른 연도 런타임을 요구하는 경우가 의외로 많습니다.

이 문제도 확인해보세요 VCRUNTIME140.dll·MSVCP140.dll 없음 오류 원인 4가지와 증상별 해결 순서 요구하는 연도가 2015~2022 쪽이면 이 글이 맞습니다 · 눌러서 확인하기 →

무엇이 진짜 빠졌는지 확인하는 법

추측을 멈추고 기록에서 파일 이름을 직접 읽는 단계입니다.

1이벤트 로그에서 오류 모듈 이름을 읽는다

Win + R → eventvwr.msc → "Windows 로그" → "응용 프로그램" → 오류가 난 시각의 빨간 항목 클릭 → 하단 "일반" 탭의 "오류 모듈 이름" 줄. 여기 적힌 파일 이름이 실제로 걸린 모듈입니다.

2이름의 숫자로 필요한 연도를 되짚는다

숫자가 곧 연도입니다. 100은 2010, 110은 2012, 120은 2013, 140은 2015~2022입니다. 로그에 msvcp140이 찍혔는데 2012만 계속 깔고 있었다면 아무리 반복해도 풀리지 않습니다. 필요한 연도의 패키지를 설치해야 합니다.

3찾은 파일이 정품 버전인지 대조한다

System32·SysWOW64에서 찾은 파일을 우클릭 → "속성" → "자세히" 탭에서 파일 버전을 봅니다. 2012 Update 4 기준 값은 11.0.61030 계열입니다. 전혀 다른 숫자라면 원인 D의 상황일 가능성이 큽니다.

여러 연도를 함께 깔아 두는 편이 실용적입니다

연도별 런타임은 서로 대체하지 않고 나란히 설치됩니다. 오래된 프로그램을 여러 개 쓴다면 2012·2013·2015~2022를 x86·x64로 갖춰 두는 편이, 프로그램마다 오류를 만날 때 하나씩 대응하는 것보다 손이 덜 갑니다.

자주 묻는 질문

순서를 밟다 자주 막히는 지점들입니다.

Q.MSVCR110과 MSVCP110은 다른 문제인가요?

A.담당은 다르지만(R은 C 런타임, P는 C++ 표준 라이브러리) 같은 재배포 패키지에 함께 들어 있어 해결 절차는 같습니다. 어느 쪽 이름이 뜨든 2012 패키지를 x86·x64로 채우면 둘 다 해결됩니다.

Q.x86과 x64를 둘 다 설치해도 되나요?

A.됩니다. 서로 다른 폴더에 들어가 충돌하지 않습니다. 프로그램이 몇 비트인지 확실치 않다면 양쪽을 모두 설치해 두는 쪽이 실패 확률이 낮습니다.

Q.최신 재배포 패키지를 깔았는데 왜 그대로인가요?

A.연도별 런타임은 서로를 대체하지 않기 때문입니다. 문서에도 2013 이하 재배포 패키지는 나란히 설치된 채 유지된다고 적혀 있습니다. 최신 패키지가 있어도 2012용은 따로 설치해야 110 파일이 생깁니다.

Q.지원이 끝난 2012 패키지를 지금 설치해도 되나요?

A.Visual Studio 2012는 2023년 1월 10일에 연장 지원이 종료돼 더 이상 새 버전이 나오지 않지만, 마지막 버전인 Update 4(11.0.61030.0)는 마이크로소프트 문서에서 계속 안내되고 있습니다. 그 프로그램이 2012 런타임을 요구한다면 이 패키지가 필요합니다.

Q.설치하려는데 "이미 설치되어 있습니다"에서 막힙니다.

A.등록 정보가 남아 있다는 뜻입니다. 새로 깔기보다 "설치된 앱" 목록에서 그 항목의 "수정 → 복구"를 쓰는 편이 빠릅니다. 그래도 안 되면 제거 → 재부팅 → 재설치 순서로 진행합니다.

Q.설치 후 재부팅을 꼭 해야 하나요?

A.재부팅 없이 되는 경우도 있지만, 이미 실행 중이던 프로세스는 옛 상태를 그대로 들고 있습니다. 한 번은 재부팅하고 판단해야 "설치가 안 된 것"과 "적용이 안 된 것"을 구분할 수 있습니다.

함께 보면 좋은 글

숫자만 다른 런타임 오류들입니다. 원인 구조는 같습니다.

MSVCR100.dll이 없습니다 오류 해결 순서 2010 런타임을 요구하는 경우입니다 · 눌러서 확인하기 → msvcr120.dll이 없습니다 오류 해결 순서 2013 런타임이 필요한 경우입니다 · 눌러서 확인하기 → 런타임 오류 R6034, C 런타임 라이브러리 오류 해결 순서 버전이 어긋난 런타임이 잡혔을 때 나타나는 다른 형태입니다 · 눌러서 확인하기 →
확인 환경 · 윈도우 11 24H2 / 윈도우 10 22H2 기준, 2026년 8월 확인
참고 문서 · Microsoft Learn — 지원되는 최신 Visual C++ 재배포 가능 패키지 다운로드
참고 문서 · Microsoft 지원 — Windows에서 시스템 파일 검사기 사용

광고자리 · 글 아래