Visual C++ Runtime Library 오류는 “비주얼 C++ 자체가 고장났다”라기보다, 프로그램이 필요로 하는 Microsoft Visual C++ 재배포 패키지(Redistributable)가 없거나 버전이 꼬였거나, 32비트·64비트 파일이 섞이거나, 설치 자체가 손상된 상태에서 앱이 런타임을 호출하면서 터지는 경우가 대부분입니다. CAD, 3D 툴, 브라우저, 압축 프로그램처럼 네이티브(C/C++)로 만들어진 앱들이 특히 이 영향을 많이 받습니다.
그래서 증상은 비슷해도 메시지는 제각각 나오는데, 아래에 실제로 자주 뜨는 오류 문구들을 한 번에 모아두면 검색할 때도 훨씬 빨라집니다.
Microsoft Visual C++ Runtime Library 오류 메시지 모음
| 오류 유형 | 대표 메시지(예시) | 의미 / 흔한 원인 |
|---|---|---|
| Runtime Error 일반 | Runtime Error! Program: … This application has requested the Runtime to terminate it in an unusual way. | 앱이 런타임을 호출하다 비정상 종료. 충돌, 플러그인 문제, 재배포 패키지 손상에서 자주 발생 |
| Abnormal termination | Abnormal Program Termination | 예외 종료를 뭉뚱그려 표시. 실제 원인은 이벤트 뷰어/충돌 로그에서 갈리는 편 |
| Assertion failed | Microsoft Visual C++ Runtime Library Assertion failed! | 개발자가 넣어둔 검증(Assertion)이 깨짐. 손상된 파일, 플러그인 충돌, 그래픽/코덱 문제로도 발생 |
| R6025 | R6025 - pure virtual function call | C++ 객체 생명주기 꼬임/메모리 손상 상황에서 흔함. 앱 자체 버그 + 런타임 꼬임 조합이 많음 |
| R6034 | R6034 An application has made an attempt to load the C runtime library incorrectly. | 런타임 로딩 경로 충돌. 중복 DLL, 플러그인, 오래된 VC++가 섞여 있을 때 자주 뜸 |
| DLL 없음 | VCRUNTIME140.dll was not found VCRUNTIME140_1.dll was not found MSVCP140.dll was not found | 대개 2015~2022 계열 재배포 패키지 미설치/손상. 64비트 OS라도 x86/x64 둘 다 필요한 경우가 많음 |
| Universal CRT | api-ms-win-crt-runtime-l1-1-0.dll is missing ucrtbase.dll is missing | 구형 OS/업데이트 누락에서 많이 봄. Windows 업데이트로 해결되는 경우가 많음 |
| Side-by-Side | The application has failed to start because its side-by-side configuration is incorrect. | Visual C++ 구성 요소(매니페스트) 불일치. 여러 버전이 꼬였거나 설치가 망가졌을 때 |
| 0xc000007b | The application was unable to start correctly (0xc000007b) | 32/64비트 혼합(Invalid Image Format)에서 자주 발생. x86/x64 재배포 패키지 동시 설치가 해결책인 경우가 많음 |
| 0xc0000142 | The application was unable to start correctly (0xc0000142) | DLL 초기화 실패. 런타임 손상, 보안 프로그램 후킹, 그래픽/프린터 드라이버 충돌에서도 발생 |
| 설치 오류 1935 | Error 1935. An error occurred during the installation of assembly component … | Windows 구성 요소/업데이트 쪽 손상, .NET/VC 어셈블리 등록 실패. DISM/SFC로 OS 복구가 필요한 경우가 있음 |
| 설치 오류 0x80070643 | 0x80070643 Fatal error during installation | 설치 엔진(Windows Installer) 쪽 충돌, 기존 VC++ 꼬임, 보안 프로그램 간섭에서 자주 봄 |
| 설치 오류 1603 / 1722 | Error 1603 / Error 1722 | 권한/임시폴더/설치 서비스 문제. 관리자 권한 실행, TEMP 정리, 클린 부팅으로 해결되는 경우가 많음 |
Microsoft Visual C++ Runtime Library 재설치 전에 먼저 해볼 것
삭제부터 들어가기 전에, 의외로 가장 빨리 끝나는 건 “복구(Repair)”입니다. 앱 및 기능(또는 프로그램 추가/제거)에서 Microsoft Visual C++ … Redistributable 항목을 찾아 수정/변경으로 들어가 Repair가 가능하면 먼저 복구를 한 번 돌려보세요. 여기서 살아나는 경우가 꽤 많습니다.
설치가 안 되거나 계속 오류가 나면 삭제 후 재설치
복구로 해결이 안 되면 그때는 “정리하고 다시 깔기”가 정답인 경우가 많습니다. 다만 Visual C++은 여러 프로그램이 공유해서 쓰기 때문에, 삭제 후에는 반드시 재설치까지 한 번에 이어가는 게 좋습니다.
| 순서 | 무엇을 하는지 | 포인트 |
|---|---|---|
| 1 | 문제 앱 종료 + 재부팅 1회 | 백그라운드 후킹(브라우저, 클라우드 동기화, 보안 프로그램)이 충돌을 키우는 경우가 있어 재부팅으로 “잠김”부터 해제 |
| 2 | Visual C++ 항목 중 손상 의심 버전 삭제 | 최근 설치/업데이트 직후부터 문제면 그 버전부터 제거하는 게 부담이 적음. 애매하면 2015~2022 계열을 우선 대상으로 잡는 경우가 많음 |
| 3 | 재부팅 | 삭제만 하고 넘어가면 설치 서비스가 꼬여서 다음 단계가 또 실패하는 경우가 있음 |
| 4 | 최신 지원 재배포 패키지 설치 | 최신 “Microsoft Visual C++ Redistributable”을 설치. 64비트 윈도우라면 보통 x64와 x86을 모두 설치하는 쪽이 호환성에서 유리 |
| 5 | 문제 앱 재실행 | 동일 오류가 남으면 앱 자체 업데이트/플러그인/그래픽 드라이버 쪽으로 원인이 넘어가는 경우가 많음 |
최신 지원 재배포 패키지는 Microsoft 공식 문서의 “Latest supported Visual C++ Redistributable downloads”에서 내려받는 게 가장 깔끔합니다.
x64 패키지는 ARM64 바이너리도 함께 포함된다는 점도 같이 안내되어 있어, 장치 아키텍처별로 헷갈릴 일이 줄어듭니다.
재설치가 계속 실패할 때(특히 1935, 0x80070643, 1603)
이 구간부터는 “VC++ 설치 파일이 나쁘다”가 아니라, 윈도우 업데이트 구성 요소나 시스템 파일이 상해 있어서 설치 자체가 제대로 못 도는 케이스가 많습니다. 이때는 운영체제 복구 명령을 먼저 한 번 태워주는 게 효과가 좋습니다.
관리자 권한으로 명령 프롬프트를 열고 아래 명령을 실행한 뒤 재부팅하고, 그 다음 Visual C++ 설치를 다시 시도해보세요.
DISM.exe /Online /Cleanup-Image /RestoreHealth
sfc /scannow
DISM으로 윈도우 구성 요소를 복구한 다음 SFC로 손상된 시스템 파일을 검사·복구하는 흐름은 Microsoft 가이드에도 같은 순서로 안내되어 있습니다.
레지스트리 삭제, bcdedit 명령어는 신중하게
Visual C++ 문제를 해결한다고 해서 브라우저 헬퍼 오브젝트(BHO)나 Post Platform 같은 레지스트리 경로를 지우는 방식은, 증상과 무관한 곳을 건드려 다른 프로그램을 망가뜨릴 가능성이 더 큽니다. 정말로 “딱 그 키가 원인”인 경우는 드물고, 보통은 재배포 패키지 복구/재설치와 시스템 파일 복구 쪽이 정석입니다.
또한 bcdedit /set increaseUserVA 2800 류의 설정은 32비트 환경에서 가상 주소 공간을 조정하던 시절에나 의미가 있었고, 요즘처럼 64비트 윈도우/앱이 기본인 환경에서는 효과가 없거나 오히려 문제를 만들 수 있습니다. 이 오류가 반복된다면 “주소 공간 늘리기”보다, x86/x64 재배포 패키지를 올바르게 맞추고(OS 복구 포함) 충돌하는 백그라운드 프로그램을 정리하는 쪽이 성공률이 높습니다.
여기까지 했는데도 같은 Runtime Library 창이 계속 뜬다면, 그때부터는 Visual C++ 자체보다 “어떤 프로그램이 어떤 순간에 충돌하느냐”가 핵심이라 이벤트 뷰어(Windows 로그 → 응용 프로그램)에서 Faulting module name을 확인해 원인 DLL이나 플러그인을 좁혀가는 쪽이 빠릅니다.
댓글
댓글 쓰기