블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

mfc140u.dll이 없습니다 오류 원인 4가지와 증상별 해결 순서 (코드 실행을 진행할 수 없습니다, 윈도우 11·10)

이 글을 3줄로 요약하면

· mfc140u.dll은 프로그램에 들어 있는 파일이 아니라 윈도우 쪽에 따로 깔려 있어야 하는 공용 부품입니다.

· 그래서 프로그램을 몇 번 다시 설치해도 같은 창이 반복됩니다. 고칠 대상은 프로그램이 아니라 시스템입니다.

· 원인은 네 갈래입니다. 아래 판별표에서 자기 상황을 찾아 해당 섹션만 처리하면 됩니다.

mfc140u.dll은 정확히 무엇이고 왜 없다고 뜨는가

프로그램이 빠뜨린 파일이 아니라, 윈도우에 미리 깔려 있어야 할 공용 부품입니다.

오류창 문구는 대개 "코드 실행을 진행할 수 없습니다. 컴퓨터에 mfc140u.dll이 없습니다. 이 문제를 해결하려면 프로그램을 다시 설치해 보십시오"로 뜹니다. 마지막 문장이 함정입니다. 다시 설치해야 하는 대상은 그 프로그램이 아닙니다.

mfc140u.dll은 MFC(Microsoft Foundation Classes) 런타임입니다. 창·버튼·메뉴 같은 윈도우 화면 요소를 그리는 코드가 이 안에 들어 있고, 캐드·설계 프로그램·업무용 클라이언트처럼 데스크톱 창을 쓰는 프로그램이 이 파일을 공유해서 씁니다. 파일 이름 끝의 u는 유니코드(Unicode) 빌드를 뜻하고, 숫자 140은 이 파일을 만든 컴파일러 세대(v14 계열)를 가리킵니다.

정리하면 이렇습니다. 프로그램은 자기 폴더에 이 파일을 넣어두지 않습니다. 대신 윈도우 시스템 폴더에 이미 있을 것을 전제하고 만들어집니다. 그 전제가 깨진 상태가 지금 화면에 뜬 오류입니다.

이 파일을 시스템에 넣어주는 것이 Microsoft Visual C++ 재배포 가능 패키지입니다. Microsoft 문서 기준으로 Visual Studio 2015 이후 세대는 재배포 파일을 공유하기 때문에, mfc140u.dll은 "Visual C++ 2015-2022 재배포 가능 패키지" 계열 하나로 해결됩니다. 2015용·2017용·2019용을 따로 찾아 헤맬 필요가 없습니다.

dll 파일 하나만 따로 내려받아 넣는 방법은 쓰지 않습니다

검색하면 "mfc140u.dll 다운로드" 사이트가 먼저 나오지만, 출처를 알 수 없는 dll은 악성코드가 섞여 있어도 확인할 방법이 없습니다. 또 MFC 런타임은 같은 세대의 C 런타임과 짝을 이뤄 동작하기 때문에, 파일 하나만 끼워 넣으면 다른 dll에서 다시 막히거나 실행 도중 종료됩니다. 반드시 재배포 패키지 형태로 설치합니다.

증상으로 원인 좁히기

언제부터 떴는지, 어떤 프로그램에서 뜨는지에 따라 볼 섹션이 달라집니다.

증상 유력한 원인 먼저 볼 항목
새로 산 PC·새로 밀어버린 윈도우에서 처음 실행할 때부터 뜬다 재배포 패키지 자체가 없음 원인 A → 패키지 설치
설치된 앱 목록에 Visual C++ 항목이 이미 여러 개 보이는데도 뜬다 패키지 파일 손상·부분 제거 원인 B → 복구 후 재설치
어떤 프로그램은 잘 되는데 특정 프로그램 하나에서만 뜬다 프로그램과 패키지의 비트수 불일치 원인 C → x86·x64 둘 다 확인
패키지를 설치했는데 설치 창이 오류로 끝나거나 목록에 안 생긴다 시스템 파일 손상으로 설치 실패 원인 D → sfc·DISM 후 재시도
잘 쓰던 프로그램인데 다른 소프트웨어를 지운 뒤부터 뜬다 제거 과정에서 공용 패키지 동반 삭제 원인 B → 복구 후 재설치
mfc140u.dll과 함께 vcruntime140_1.dll·msvcp140.dll도 같이 없다고 뜬다 같은 세대 런타임 묶음이 통째로 없음 원인 A → 한 번에 해결됨

먼저 볼 것은 "설치된 앱" 목록입니다

원인 A와 원인 B는 조치가 다른데, 갈림길은 하나입니다. Visual C++ 2015-2022 항목이 목록에 있느냐 없느냐. 없으면 원인 A, 있는데도 오류가 뜨면 원인 B 또는 C입니다. 이 글 맨 위 화면이 그 목록입니다.

원인 A재배포 패키지가 설치된 적이 없다

새 PC·윈도우 재설치 직후라면 대부분 여기에 해당합니다.

윈도우는 Visual C++ 재배포 패키지를 기본 포함하지 않습니다. 그동안 이 오류를 못 봤던 이유는 대개 다른 프로그램이 설치되면서 조용히 같이 깔아줬기 때문입니다. 새 PC나 갓 재설치한 윈도우에는 그 과정이 없었으니 없는 게 정상입니다.

1설치된 앱 목록에서 현재 상태를 먼저 본다

Win + I → 좌측 "앱" → "설치된 앱" → 우측 검색창에 Visual C++ 입력. 여기에 2015-2022 표기가 있는 항목이 하나도 없다면 원인 A가 맞습니다.

2Microsoft 공식 페이지에서 최신 v14 재배포 패키지를 받는다

아래 참고 문서에 있는 Microsoft Learn "최신 지원 Visual C++ 재배포 가능 패키지 다운로드" 페이지에서 받습니다. 이 패키지 하나가 2015부터 최신 세대까지를 함께 덮습니다. 파일명은 vc_redist.x64.exe·vc_redist.x86.exe입니다.

364비트 윈도우라면 x64와 x86을 모두 설치한다

두 패키지는 서로를 대체하지 않습니다. 각각 다른 폴더에 다른 파일을 넣기 때문에 함께 설치해도 충돌하지 않습니다. 32비트 프로그램을 쓸 가능성이 조금이라도 있으면 둘 다 설치해두는 편이 시간을 아낍니다.

4재시작한 뒤 프로그램을 다시 연다

설치 직후 바로 실행하면 이미 로드된 경로 정보가 갱신되지 않아 같은 창이 한 번 더 뜨는 경우가 있습니다. 재부팅 후 판정합니다.

이 방법이 안 통하는 경우

설치를 마쳤는데도 목록에 항목이 생기지 않거나, 설치 창이 "설치에 실패했습니다"로 끝난다면 원인 D로 갑니다. 목록에는 정상적으로 생겼는데 오류만 그대로라면 원인 C의 비트수 문제일 가능성이 큽니다.

같이 나오는 오류입니다 VCRUNTIME140_1.dll이 없습니다 오류 해결 순서 mfc140u.dll과 같은 v14 세대 런타임이라 함께 뜨는 일이 많습니다 · 눌러서 확인하기 →

원인 B패키지는 있는데 파일이 깨졌다

목록에 Visual C++ 항목이 보이는데도 같은 오류가 반복될 때입니다.

재배포 패키지는 여러 프로그램이 공유하는 부품입니다. 그래서 어떤 프로그램을 제거할 때 자기가 깔았던 패키지를 같이 지워버리거나, 제거가 중간에 끊겨 목록에는 남고 파일만 사라진 상태가 되기도 합니다. 목록에 이름이 있다는 것과 파일이 온전하다는 것은 다른 이야기입니다.

1먼저 "복구"를 시도한다

설치된 앱 목록에서 해당 Visual C++ 항목 우측의 점 세 개를 누르고 "수정"을 고르면 복구 / 제거 선택 창이 나옵니다. 복구는 기존 설정을 유지한 채 깨진 파일만 다시 씁니다. 제거보다 안전하고 빠릅니다.

2복구로 안 되면 제거 후 재설치한다

같은 창에서 제거를 선택하고, x86과 x64 항목이 둘 다 있으면 둘 다 제거합니다. 제거 후 재시작하고 최신 패키지를 새로 설치합니다.

3제거가 중간에 멈추면 그 지점에서 시스템 점검으로 넘어간다

"이미 제거되었습니다"나 알 수 없는 오류로 끝난다면 설치 관리자 자체가 시스템 파일에 막힌 상태입니다. 억지로 반복하지 말고 원인 D의 sfc·DISM을 먼저 돌립니다.

버전 번호가 여러 개 보여도 정상입니다

Visual C++ 2015-2022 항목은 x86 하나, x64 하나가 나란히 있는 것이 정상 상태입니다. 뒤에 붙은 세부 버전 번호가 서로 다를 수도 있는데, 이것만으로 문제가 되지는 않습니다. 최신 패키지를 설치하면 알아서 상위 버전으로 정리됩니다.

이 방법이 안 통하는 경우

복구와 재설치를 모두 마쳤는데 특정 프로그램 하나에서만 오류가 남는다면 패키지 손상 문제가 아닙니다. 원인 C로 가서 그 프로그램이 32비트인지 64비트인지부터 확인합니다.

원인 C프로그램과 패키지의 비트수가 다르다

"어떤 건 되는데 이것만 안 된다"의 대부분이 여기입니다.

64비트 윈도우는 서로 다른 두 벌의 런타임을 동시에 갖고 있습니다. 64비트 프로그램은 C:\Windows\System32의 dll을 쓰고, 32비트 프로그램은 C:\Windows\SysWOW64의 dll을 씁니다. 이름이 헷갈리게 지어져 있지만 SysWOW64 쪽이 32비트용입니다.

그래서 x64 패키지만 설치한 PC에서 32비트로 만들어진 프로그램을 실행하면, 시스템에 mfc140u.dll이 분명히 있는데도 "없습니다"라는 창이 뜹니다. 프로그램이 보는 폴더에 그 파일이 없기 때문입니다. Microsoft 문서도 x64 패키지가 x86 지원을 대신하지 않는다고 못박고 있습니다.

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

Ctrl + Shift + Esc로 작업 관리자를 열고 그 프로그램을 실행한 상태에서 "세부 정보" 탭을 보면 아키텍처 열에 x86 또는 x64가 표시됩니다. 실행 자체가 안 되면, 설치 폴더가 C:\Program Files (x86) 아래에 있는지로 판단합니다. 여기 있으면 32비트입니다.

2해당 폴더에 파일이 실제로 있는지 눈으로 본다

32비트 프로그램이면 SysWOW64 폴더에서, 64비트 프로그램이면 System32 폴더에서 mfc140u.dll을 검색합니다. 한쪽에만 있고 다른 쪽에 없다면 판정 끝입니다.

3빠진 쪽 패키지를 설치한다

32비트 프로그램인데 없었다면 vc_redist.x86.exe를 설치합니다. 반대의 경우 x64를 설치합니다. 설치 후 재시작합니다.

파일을 System32에서 SysWOW64로 복사해 옮기지 않습니다

둘은 이름만 같을 뿐 구조가 다른 별개의 파일입니다. 64비트 dll을 32비트 폴더에 넣으면 "올바른 Win32 응용 프로그램이 아닙니다"류의 다른 오류로 바뀔 뿐 실행되지 않습니다. 반드시 해당 비트수의 설치 파일로 채웁니다.

이 방법이 안 통하는 경우

두 폴더 모두에 파일이 있는데도 오류가 계속된다면, 파일이 있는 것과 불러올 수 있는 것이 다른 상황입니다. 아래 7번 섹션에서 이벤트 뷰어로 어느 모듈이 실제로 실패했는지 확인합니다.

원인 D설치가 끝까지 진행되지 않는다

패키지를 깔았다고 생각했지만 실제로는 설치가 실패하고 있는 경우입니다.

재배포 패키지 설치 관리자는 윈도우 설치 관리자(MSI)와 시스템 구성 요소 저장소를 거쳐 파일을 배치합니다. 그 경로에 손상이 있으면 설치 창이 오류로 닫히거나, 겉으로는 성공했는데 설치된 앱 목록에 항목이 생기지 않는 상태가 됩니다.

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

DISM /Online /Cleanup-Image /RestoreHealth

시작 버튼 우클릭 → 터미널(관리자)에서 실행합니다. sfc보다 이것을 먼저 돌립니다. sfc는 저장소에 있는 원본으로 파일을 되돌리는 명령이라, 저장소 자체가 깨져 있으면 고칠 재료가 없습니다.

2시스템 파일을 검사한다

sfc /scannow

"확인 100% 완료"까지 창을 닫지 않습니다. 결과 문장은 세 가지입니다. 위반을 찾지 못했다면 시스템 파일은 정상이니 원인 B·C로 돌아갑니다. 복구했다면 재부팅 후 패키지를 다시 설치합니다. 복구할 수 없었다면 1번을 한 번 더 돌린 뒤 다시 시도합니다.

3대기 중인 윈도우 업데이트를 끝낸 뒤 다시 설치한다

업데이트가 재부팅 대기 상태로 걸려 있으면 새 구성 요소 설치가 보류되는 경우가 있습니다. Win + I → "Windows 업데이트"에서 남은 항목을 마무리하고 재시작한 다음 패키지 설치를 다시 시도합니다.

이 방법이 안 통하는 경우

회사·학교 PC처럼 관리자 권한이 없는 계정이라면 sfc·DISM도 재배포 패키지 설치도 실행되지 않습니다. 이때는 개인이 우회할 방법이 없고, IT 담당 부서에 "Visual C++ 2015-2022 재배포 가능 패키지 x86·x64 설치"를 요청하는 것이 정식 절차입니다.

패키지가 실제로 자리 잡았는지 확인하는 법

"설치했는데 그대로다"를 추측이 아니라 기록으로 확인하는 단계입니다.

같은 조치를 반복하게 되는 이유는 대개 지금 상태를 확인하지 않은 채 다음 방법으로 넘어가기 때문입니다. 아래 두 가지만 보면 어느 단계에서 막혔는지가 갈립니다.

1이벤트 뷰어에서 실제로 실패한 모듈 이름을 읽는다

Win + R → eventvwr.msc → Windows 로그 → 응용 프로그램에서 프로그램을 실행한 시각의 오류 항목을 봅니다. "오류 모듈 이름" 줄에 mfc140u.dll이 아닌 다른 파일이 적혀 있다면, 지금 막고 있는 것은 이 글의 오류가 아니라 그 파일입니다.

2두 시스템 폴더에 파일이 다 있는지 명령으로 한 번에 본다

dir C:\Windows\System32\mfc140u.dll C:\Windows\SysWOW64\mfc140u.dll

한쪽만 나오면 그 반대 비트수의 패키지가 빠진 것이고(원인 C), 둘 다 "파일을 찾을 수 없습니다"면 설치가 실제로 되지 않은 것입니다(원인 A 또는 D). 둘 다 나오는데 오류가 계속된다면 프로그램 폴더 안에 오래된 mfc140u.dll이 따로 들어 있는지 확인합니다. 프로그램은 자기 폴더를 먼저 보기 때문입니다.

프로그램 폴더에 같은 이름의 dll이 있으면 그것이 먼저 읽힙니다

과거에 누군가 dll을 직접 복사해 넣었거나, 설치 파일이 오래된 버전을 함께 배치한 경우입니다. 그 파일이 손상됐거나 비트수가 다르면 시스템 폴더에 정상 파일이 있어도 오류가 납니다. 프로그램 폴더의 mfc140u.dll 이름 뒤에 .bak을 붙여 잠시 비켜두고 실행해보면 바로 구분됩니다.

자주 묻는 질문

비슷한 파일명·권한·재설치 범위에 대한 질문을 모았습니다.

Q.mfc140u.dll과 mfc140.dll은 다른 파일인가요?

A.다른 파일입니다. u가 붙은 쪽이 유니코드 빌드용이고, 붙지 않은 쪽은 좁은 문자 집합용입니다. 다만 같은 재배포 패키지에 함께 들어 있어 설치하면 둘 다 배치되므로, 어느 쪽이 없다고 뜨든 조치는 같습니다.

Q.vcruntime140_1.dll이 없다는 오류도 같이 뜹니다.

A.같은 v14 세대 런타임 묶음이라 같은 패키지 하나로 함께 해결됩니다. 두 오류가 번갈아 뜬다면 패키지가 통째로 없는 상태(원인 A)일 가능성이 큽니다.

Q.2015용·2017용·2019용을 각각 따로 설치해야 하나요?

A.필요 없습니다. Microsoft 문서 기준으로 2015 이후 세대는 재배포 파일을 공유합니다. 최신 v14 패키지 하나가 그 범위를 덮습니다. 반면 2013용(msvcr120.dll 계열)이나 2010용은 별개 세대라 따로 설치해야 합니다.

Q.회사 PC라 관리자 권한이 없습니다.

A.재배포 패키지 설치는 시스템 폴더에 쓰는 작업이라 관리자 권한이 필요합니다. dll을 사용자 폴더에 복사해 우회하려 하면 보안 정책에 걸리거나 다른 오류로 바뀝니다. IT 담당 부서에 패키지 설치를 요청하는 것이 유일한 정식 경로입니다.

Q.패키지를 지웠다가 다시 깔면 다른 프로그램이 망가지지 않나요?

A.제거한 상태로 두면 그 패키지를 쓰던 다른 프로그램도 같은 오류가 납니다. 그래서 제거 직후 반드시 재설치까지 이어서 진행하고, 중간에 다른 작업을 끼워 넣지 않습니다. 재설치가 끝나면 원래대로 돌아옵니다.

함께 보면 좋은 글

같은 런타임 계열에서 자주 이어지는 오류들입니다.

VCRUNTIME140.dll·MSVCP140.dll 없음 오류 해결법 mfc140u.dll과 같은 패키지에 들어 있는 파일들입니다 · 눌러서 확인하기 → msvcr120.dll이 없습니다 오류 해결법 2013 세대라 이 글의 패키지로는 해결되지 않는 경우입니다 · 눌러서 확인하기 → api-ms-win-crt-runtime-l1-1-0.dll이 없습니다 오류 해결법 패키지를 설치해도 안 될 때 함께 확인할 유니버설 C 런타임 문제입니다 · 눌러서 확인하기 →
확인 환경 · 윈도우 11 24H2 / 윈도우 10 22H2 기준, 2026년 8월 확인
참고 문서 · 최신 지원 Visual C++ 재배포 가능 패키지 다운로드 — Microsoft Learn · MFC 라이브러리 재배포 — Microsoft Learn

광고자리 · 글 아래