본문 바로가기
PC 오류 해결 노트 PC 오류 해결 노트
윈도우 오류, 드라이버, 게임 실행 문제를 직접 겪고 푼 기록

0xc000007b 오류 해결 순서: 응용 프로그램을 올바르게 시작하지 못했을 때

읽는 시간 약 8분

프로그램이나 게임을 켜는 순간 응용 프로그램을 올바르게 시작하지 못했다는 메시지와 함께 0xc000007b 코드가 뜨며 창이 닫히는 경우가 있습니다. 이 코드는 프로그램이 불러오는 파일의 형식이 맞지 않을 때 나오므로, 런타임 설치 상태와 시스템 파일을 순서대로 확인하면 풀릴 수 있습니다. 가벼운 확인부터 런타임 설치 순서, 시스템 파일 복구, 재설치까지 정리했으니 이와 같은 오류로 실행이 막혔다면 참고할 수 있는 포스팅입니다.

런타임 설치 재시작 후 다시 실행

0xc000007b의 뜻과 원인

0xc000007b는 STATUS_INVALID_IMAGE_FORMAT 코드입니다. 마이크로소프트의 코드 목록은 이 코드를 Bad Image로 설명하며, 해당 파일이 윈도우에서 실행되도록 만들어지지 않았거나 파일 안에 오류가 있다는 뜻입니다. 같은 설명에서 원본 설치 파일로 프로그램을 다시 설치하거나 제작사에 문의하라고 안내합니다.

흔한 원인은 32비트와 64비트 파일이 섞이는 경우입니다. 64비트 윈도우에서는 32비트 프로그램도 실행되는데, 이때 프로그램과 런타임의 비트 수가 같아야 합니다. 마이크로소프트의 Visual C++ 문서도 재배포 패키지의 구조가 프로그램이 만들어진 구조와 같아야 한다고 설명합니다. 그 밖에 런타임 파일이 빠졌거나 손상된 경우, 시스템 파일이 손상된 경우에도 같은 코드가 나올 수 있습니다.

먼저 해 보는 가벼운 확인

  1. 컴퓨터를 다시 시작하고 프로그램을 다시 실행합니다. 일시적으로 꼬인 상태가 풀릴 수 있습니다.
  2. 프로그램 아이콘을 마우스 오른쪽 버튼으로 눌러 관리자 권한으로 실행합니다. 권한 부족이 원인인지 확인하는 단계입니다.
  3. 설정->시스템->정보의 장치 사양에서 시스템 종류를 확인합니다. 윈도우 11은 64비트만 있으므로 이 확인은 윈도우 10에서 의미가 있습니다. 32비트 윈도우에 64비트용 프로그램을 설치했다면 비트 수가 맞는 프로그램으로 바꿉니다.
시스템 종류 확인

런타임을 설치하는 순서

마이크로소프트 문서에 따르면 프로그램을 만들 때 쓴 도구와 같거나 더 새로운 재배포 패키지가 설치돼 있어야 합니다. 이 문서는 개발자용 안내이므로 프로그램 제작사가 필요한 런타임을 따로 안내한 경우 그 안내를 먼저 따릅니다. 제작사 안내가 없으면 아래 순서로 설치합니다.

런타임 설치 순서
  1. Visual C++ 최신 재배포 패키지를 설치합니다. 32비트 윈도우에서는 x86만 설치할 수 있습니다. 64비트 윈도우에서는 프로그램에 맞춰 x86과 x64를 설치하며, 32비트 프로그램과 64비트 프로그램을 함께 쓰면 둘 다 필요합니다. 마이크로소프트는 x86 시스템에는 x64 패키지를 설치할 수 없다고 안내합니다. 2017년 이후 버전은 같은 파일을 공유하고 2015 버전도 최신 v14와 호환되므로, 2015 이후 버전은 v14 최신 패키지를 필요한 구조(x86, x64)별로 설치하면 됩니다. 설치가 끝나면 재시작합니다.
  2. 오래된 프로그램이라면 2013, 2012, 2010 같은 이전 버전이 따로 필요할 수 있습니다. 문서에 따르면 2013 이전 버전은 나란히 설치되므로 최신 패키지를 깔아도 대체되지 않습니다. 프로그램이 요구하는 버전을 같은 문서의 해당 구간에서 받아 설치합니다.
  3. 프로그램이 .NET Framework 3.5를 요구하는 경우 윈도우 기능 켜기/끄기 창(시작 메뉴에서 optionalfeatures 실행)에서 .NET Framework 3.5(.NET 2.0 및 3.0 포함) 항목에 체크하고 확인을 누릅니다. 재시작을 요구하면 재시작합니다. 윈도우 11 26H1(빌드 28000) 이후 버전은 .NET Framework 3.5를 윈도우 기능으로 켤 수 없고, 마이크로소프트가 제공하는 별도 설치 파일로만 설치할 수 있습니다.
  4. 윈도우 10과 11의 DirectX는 윈도우 업데이트로 제공되며 별도 설치 패키지가 없다고 마이크로소프트가 안내합니다. 현재 버전은 시작 메뉴에서 dxdiag를 검색해 열고 첫 화면의 시스템 정보에서 확인합니다. 윈도우 11은 설정->Windows 업데이트->업데이트 확인, 윈도우 10은 설정->업데이트 및 보안->Windows 업데이트로 밀린 업데이트를 설치합니다. 구형 게임이 별도 DirectX 런타임을 요구하면 제작사 안내를 따릅니다.

Visual C++ 재배포 패키지의 종류별 다운로드는 아래 링크에 있습니다.

https://learn.microsoft.com/cpp/windows/latest-supported-vc-redist

모두 끝나면 재시작한 뒤 프로그램을 다시 실행해 봅니다. 필요한 런타임이 빠졌거나 손상된 것이 원인이었다면 이 단계에서 해결될 수 있습니다.

손상된 시스템 파일을 고치는 DISM과 sfc

그래도 같은 코드가 나오면 윈도우 파일이 손상됐을 수 있습니다. 마이크로소프트 순서는 DISM을 먼저, sfc를 나중에 실행하는 것입니다. 명령 프롬프트를 관리자 권한으로 열고 실행합니다.

DISM과 sfc 실행
  1. DISM.exe /Online /Cleanup-Image /RestoreHealth를 실행합니다. 윈도우 업데이트에서 복구 파일을 받아 구성 요소 저장소를 고치며, sfc가 쓸 원본을 먼저 정상으로 만듭니다.
  2. sfc /scannow를 실행합니다. 보호된 시스템 파일을 검사해 손상된 파일을 캐시된 사본으로 교체하므로 끝날 때까지 창을 닫지 않습니다.

sfc가 작업을 수행하지 못했다고 알리면 안전 모드에서 다시 실행합니다. 자세한 대처 방법은 아래 링크에 있습니다.

https://support.microsoft.com/topic/use-the-system-file-checker-tool-to-repair-missing-or-corrupted-system-files-79aa86cb-ca52-166a-92a3-966e85d4094e

sfc 결과 메시지별 뜻과 다음 행동은 sfc /scannow 사용법: 결과 메시지 4가지의 뜻과 다음 행동에 따로 정리했습니다.

재설치나 초기화에 들어가기 전에 백업할 파일

프로그램을 제거하면 설치 폴더에 있던 설정 파일이나 저장 파일이 함께 사라질 수 있습니다. 그래서 게임 저장 파일, 작업 파일, 프로그램 설정 파일의 위치를 제작사 안내에서 확인하고 먼저 백업합니다. 윈도우를 다시 설치하거나 초기화하기로 했다면 문서, 사진, 작업 폴더도 외장 저장장치나 클라우드에 백업하고 열리는지 확인해 둡니다.

프로그램을 다시 설치하고 충돌 요인을 좁히는 방법

  • 재설치: 설정->앱에서 문제의 프로그램을 제거한 뒤 원본 설치 파일로 다시 설치합니다. 앞서 본 코드 설명이 권하는 방법입니다. 빠지거나 손상된 프로그램 파일이 새 파일로 교체됩니다.
  • 클린 부팅: msconfig의 서비스 탭에서 모든 Microsoft 서비스 숨기기, 모두 사용 안 함을 차례로 누릅니다. 시작 프로그램 탭의 작업 관리자 열기에서 시작 앱도 사용 안 함으로 바꾸고 재시작합니다. 오류가 사라지면 꺼 둔 항목 중 하나가 원인일 수 있으며, 확인 뒤에는 꺼 둔 서비스와 시작 앱을 원래대로 되돌립니다.
  • 제작사 문의: 오류 코드 0xc000007b, 윈도우 버전, 시스템 종류, 프로그램 버전을 함께 전달합니다. 프로그램 쪽 파일이 원인이면 제작사만 고칠 수 있습니다.
클린 부팅 설정
PC 오류 해결 노트
함께 보면 좋은 글
error: Content is protected !!