Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

Windows에서 'Shellexecuteex 실패' 오류를 해결하는 6가지 방법

최근 많은 Windows 사용자들이 인터넷 연결이 필요한 작업을 수행하거나 프로그램을 설치하려고 할 때마다 "Shellexecuteex 실패" 오류 메시지가 나타난다며 문의하고 있습니다. 오류와 함께 표시되는 코드는 사용자마다 다양하지만, 조사 결과 이 문제는 특정 Windows 버전에 국한된 것이 아니라 Windows 7, Windows 8.1, Windows 10 전반에서 발생하는 것으로 확인되었습니다.

"Shellexecuteex 실패" 오류의 주요 원인

다양한 사용자 사례와 일반적인 복구 전략을 분석한 결과, 이 오류를 유발하는 원인은 크게 다음과 같습니다.

  • 관리자 권한 부족 – 권한이 충분하지 않아 프로그램이 예기치 않게 종료되는 경우입니다. 대부분 프로그램을 관리자 권한으로 실행하면 해결됩니다.
  • 시스템 파일 손상 – 오류가 발생하는 프로그램이 의존하는 시스템 파일이 손상된 경우입니다. DISM과 SFC 내장 유틸리티로 복구하면 해결되며, 심각한 경우 클린 설치나 복구 설치가 필요할 수 있습니다.
  • 사용자 지정 시스템 사운드 충돌 – 커스텀 Windows 테마의 사운드를 프로그램이 제대로 처리하지 못해 발생합니다. 기본 Windows 사운드로 되돌리면 해결됩니다.
  • 프로그램 간 충돌 – 다른 백그라운드 프로그램이 실행 중인 프로그램의 프로세스와 충돌하여 오류를 일으킵니다. 클린 부팅으로 원인 프로그램을 찾을 수 있습니다.
  • 과도하게 엄격한 로컬 정책 – "서명 및 검증된 실행 파일만 승격" 정책이 활성화되어 있으면 서명되지 않은 실행 파일이 차단됩니다. 그룹 정책 편집기에서 해당 정책을 비활성화하면 됩니다.

방법 1: 프로그램을 관리자 권한으로 실행하기

프로그램을 열거나 설치할 때 이 오류가 발생한다면, 관리자 권한이 없어 프로그램(또는 설치 실행 파일)이 예기치 않게 종료되었을 가능성이 높습니다. 이런 문제는 주로 오픈소스 프로그램이나 소규모 개발팀이 만든 앱에서 자주 나타납니다.

해당 상황에 해당한다면 프로그램이 항상 관리자 권한으로 시작되도록 설정하여 문제를 해결할 수 있습니다.

  1. 오류를 일으키는 프로그램을 마우스 오른쪽 버튼으로 클릭하고 속성(Properties)을 선택합니다.
  2. 속성 창에서 호환성(Compatibility) 탭으로 이동한 뒤, 설정 섹션에서 "이 프로그램을 관리자 권한으로 실행" 항목에 체크하고 적용(Apply)을 클릭합니다.
  3. 프로그램을 다시 실행하여 문제가 해결되었는지 확인합니다.

동일한 오류가 계속 발생한다면 아래의 다음 방법으로 넘어가세요.

방법 2: DISM 및 SFC 검사 실행하기

경우에 따라 이 오류는 설치 완료를 막는 시스템 파일 손상 때문에 발생하기도 합니다. 이 경우 손상을 최소한의 피해로 복구하는 것이 유일한 해결책입니다.

가장 효과적인 방법은 DISM(배포 이미지 서비스 및 관리)SFC(시스템 파일 검사기)라는 두 가지 내장 유틸리티를 활용하는 것입니다. 두 도구 모두 손상된 시스템 파일을 처리하지만 작동 방식이 다릅니다. SFC는 로컬에 저장된 캐시를 이용해 손상된 파일을 교체하고, DISM은 WU(Windows Update)에서 건강한 파일을 다운로드해 교체합니다. SFC는 논리적 오류에 더 효과적이므로, 성공 확률을 높이려면 두 검사를 모두 실행하는 것이 좋습니다.

  1. Windows 키 + R을 눌러 실행 대화 상자를 열고, 'cmd'를 입력한 후 Ctrl + Shift + Enter를 눌러 관리자 권한 명령 프롬프트를 엽니다. UAC(사용자 계정 컨트롤) 창이 나타나면 를 클릭합니다.
  2. 관리자 권한 명령 프롬프트에서 아래 명령어를 입력하고 Enter를 눌러 SFC 검사를 시작합니다:
    sfc /scannow

    참고: 검사가 완료될 때까지 창을 닫거나 작업을 중단하지 마세요. 프로세스를 중간에 끊으면 더 많은 논리적 오류가 생겨 복구가 더 어려워질 수 있습니다.

  3. 검사가 완료되면 컴퓨터를 재시작합니다. OS가 완전히 로드되면 1번 단계를 반복해 다시 관리자 권한 명령 프롬프트를 열고, 아래 명령어를 한 줄씩 입력하며 각 줄마다 Enter를 눌러 DISM 검사를 실행합니다:
    Dism.exe /online /cleanup-image /scanhealth
    Dism.exe /online /cleanup-image /restorehealth

    참고: DISM은 Windows Update에서 파일을 다운로드하므로, 진행 전에 인터넷 연결이 안정적인지 확인하세요. 첫 번째 명령은 상태 검사를, 두 번째 명령은 손상 복구를 수행합니다.

  4. DISM 검사가 완료되면 컴퓨터를 재시작하고 다음 시스템 시작 시 문제가 해결되었는지 확인합니다.

같은 동작을 반복했을 때 여전히 오류가 나타난다면 다음 방법으로 넘어가세요.

방법 3: 시스템 사운드를 기본값으로 되돌리기

여러 사용자에 따르면, 일부 테마에서 정의한 시스템 사운드를 해당 모듈이 제대로 처리하지 못해 이 문제가 발생하기도 합니다. 이 경우 사운드를 사용하는 프로그램은 사운드를 재생하려는 순간마다 충돌합니다.

이때는 모든 Windows 사운드를 기본값으로 초기화하면 해결됩니다. 실제로 이 방법 적용 후 재시작만으로 문제가 해결되었다는 보고가 많습니다.

  1. Windows 키 + R을 눌러 실행 대화 상자를 열고, "mmsys.cpl"을 입력한 후 Enter를 눌러 소리(Sound) 창을 엽니다.
  2. 소리 창에서 상단 메뉴의 소리(Sounds) 탭을 선택한 뒤, 소리 구성표(Sound Scheme)Windows 기본값으로 변경합니다.

    참고: 현재 구성표가 Windows 기본값(수정됨)으로 되어 있다면, 잘못된 사운드 항목이 있을 수 있으므로 반드시 Windows 기본값으로 변경하세요.

  3. 구성표 변경이 완료되면 컴퓨터를 재시작하고 문제가 해결되었는지 확인합니다.

이전에 오류를 일으켰던 동작을 다시 수행해보고, 여전히 문제가 있다면 다음 방법으로 넘어가세요.

방법 4: 클린 부팅 수행하기

여기까지 진행했는데도 결과가 없다면, 서드파티 프로그램과의 충돌이 원인일 가능성이 있습니다. 충돌 가능한 프로그램이 매우 많기 때문에, 클린 부팅 상태로 컴퓨터를 시작해 원인을 좁혀가는 것이 가장 효과적입니다.

  1. Windows 키 + R을 눌러 실행 대화 상자를 열고, "msconfig"를 입력한 후 Enter를 눌러 시스템 구성(System Configuration) 창을 엽니다. UAC 창이 나타나면 를 클릭합니다.
  2. 시스템 구성 창에서 상단의 서비스(Services) 탭을 선택하고, "모든 Microsoft 서비스 숨기기" 항목에 체크합니다. 이렇게 하면 필수 Windows 서비스가 목록에서 제외되어 실수로 비활성화할 위험이 없습니다.
  3. 필수 서비스가 제외된 목록에서 모두 사용 안 함(Disable all) 버튼을 클릭해, 다음 부팅 시 서드파티 서비스가 시작되지 않도록 합니다.
  4. 다음으로 시작 프로그램(Startup) 탭을 선택하고 작업 관리자 열기를 클릭합니다.
  5. 작업 관리자의 시작 프로그램 탭에서 각 항목을 하나씩 선택한 뒤 하단의 사용 안 함(Disable) 버튼을 클릭해 모든 시작 프로그램을 비활성화합니다.
  6. 이제 오류를 일으킬 수 있는 모든 서비스와 프로세스가 비활성화되었습니다. 컴퓨터를 재시작해 클린 부팅 상태를 적용합니다.
  7. 재시작 후 프로그램을 실행해 오류가 사라졌는지 확인합니다. 오류가 더 이상 발생하지 않는다면 설치를 완료한 뒤, 위 과정을 역순으로 진행해 비활성화했던 서비스들을 하나씩 다시 활성화하며 원인 프로그램을 특정합니다.

이 방법으로도 문제가 해결되지 않았다면 다음 방법으로 넘어가세요.

방법 5: "실행 파일 승격" 정책 조정하기

이 문제는 "서명 및 검증된 실행 파일만 승격(Only elevate executables that are signed and validated)"이라는 그룹 정책을 조정함으로써도 해결할 수 있습니다. 다만 이 방법은 서명이 제대로 되지 않은 실행 파일이 원인인 경우에만 효과적입니다.

실제로 이 정책을 비활성화한 후 오류가 사라지고 설치가 성공적으로 완료되었다는 사용자 보고가 여럿 있습니다.

참고: 일부 Windows 버전(주로 Home 에디션)에는 로컬 그룹 정책 편집기가 포함되어 있지 않습니다. 이 경우 이 방법은 적용할 수 없으므로 바로 마지막 방법으로 넘어가세요.

  1. Windows 키 + R을 눌러 실행 대화 상자를 열고, "gpedit.msc"를 입력한 후 Ctrl + Shift + Enter를 눌러 관리자 권한으로 로컬 그룹 정책 편집기를 엽니다. UAC 프롬프트가 나타나면 를 클릭합니다.
  2. 왼쪽 패널에서 컴퓨터 구성 > Windows 설정 > 보안 설정으로 이동합니다.
  3. 보안 옵션(Security Options)을 선택한 상태에서 오른쪽 목록에서 "사용자 계정 컨트롤: 서명 및 검증된 실행 파일만 승격" 정책을 찾아 두 번 클릭합니다.
  4. 정책 설정 창에서 로컬 보안 설정 탭을 선택하고, 정책이 사용 안 함(Disabled)으로 설정되어 있는지 확인합니다.
  5. 적용을 클릭해 변경 사항을 저장한 뒤 컴퓨터를 재시작하고, 다음 부팅 시 문제가 해결되었는지 확인합니다.

오류가 계속된다면 마지막 방법으로 넘어가세요.

방법 6: 클린 설치 또는 복구 설치 수행하기

위의 어떤 방법으로도 문제가 해결되지 않는다면, 일반적인 방법으로는 복구할 수 없는 근본적인 시스템 손상을 겪고 있을 가능성이 큽니다. 이 경우 모든 Windows 구성 요소를 초기화하는 것만이 남은 해결책입니다.

가장 빠른 방법은 클린 설치를 수행하는 것입니다. 단, 이 방법은 설치된 프로그램, 게임, 미디어, 사용자 설정 등 개인 데이터가 모두 삭제된다는 점을 감안해야 합니다.

시간이 조금 더 걸리지만 더 효율적인 대안은 복구 설치(원 위치 설치, In-place Upgrade)입니다. 이 방법은 개인 파일, 프로그램, 게임, 사용자 설정을 모두 그대로 유지한 채 Windows 구성 요소만 새로 설치할 수 있습니다. 복구 설치를 선택했다면 공식 Microsoft 가이드의 절차를 따르는 것을 권장합니다.