윈도우에서 winget으로 VS Code 업그레이드 시 발생하는 오류 해결 방법

2025. 4. 10. 10:39개발 문서/기타

728x90
반응형

문제 상황

다음과 같은 명령어로 VS Code를 업그레이드하려고 할 때:

winget upgrade --id Microsoft.VisualStudioCode

아래와 같은 오류 메시지가 나타날 수 있습니다:

2025-04-10 10:18:32.511 [CLI ] ShellExecute installer failed: 1
2025-04-10 10:18:32.512 [CLI ] Terminating context: 0x8a150006 at C:\__w\1\s\external\pkg\src\AppInstallerCLICore\Workflows\InstallFlow.cpp:223

이는 일반적으로 다음과 같은 이유로 발생합니다:

  • 권한 문제 (관리자 권한 부족)
  • VS Code가 현재 실행 중인 상태
  • winget 캐시 손상
  • 인스톨러 파일 접근 문제
  • 이전 설치 프로세스의 잔여물

해결 방법

1. 관리자 권한으로 PowerShell 실행하기

가장 먼저 시도해 볼 방법은 PowerShell을 관리자 권한으로 실행하는 것입니다.

  1. 시작 메뉴에서 PowerShell을 검색
  2. 우클릭 후 "관리자 권한으로 실행" 선택
  3. 명령어 다시 실행:
    winget upgrade --id Microsoft.VisualStudioCode
    

2. 실행 중인 VS Code 프로세스 종료하기

VS Code가 실행 중이면 업그레이드 과정에서 문제가 발생할 수 있습니다.

  1. 작업 관리자 열기 (Ctrl+Shift+Esc)
  2. 다음 프로세스들을 찾아 종료:
    • Code.exe
    • VSCode.exe
    • 기타 VS Code 관련 프로세스
  3. 모든 프로세스를 종료한 후 다시 업그레이드 명령 실행

3. winget 캐시 초기화하기

winget 캐시에 문제가 있을 수 있으므로 초기화 후 다시 시도합니다.

winget source reset
winget upgrade --id Microsoft.VisualStudioCode

4. 강제 설치 옵션 사용하기

--force 옵션을 사용하여 강제로 설치를 진행할 수 있습니다.

winget install --id Microsoft.VisualStudioCode --force

5. 임시 폴더 정리하기

winget이 사용하는 임시 폴더를 정리해 봅시다.

  1. 다음 경로로 이동:
    %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalCache\
    
  2. 이 폴더 내의 파일들을 삭제 (중요: 폴더 자체는 삭제하지 마세요)
  3. 컴퓨터 재시작 후 다시 시도

6. 직접 다운로드하여 수동 설치하기

winget으로 설치가 계속 실패한다면, 수동 설치를 시도해 볼 수 있습니다.

  1. VS Code 공식 웹사이트에서 설치 파일 다운로드
  2. 다운로드된 설치 파일 실행
  3. 설치 완료 후 winget 목록 업데이트:
    winget source update
    

7. --accept-source-agreements 옵션 추가하기

일부 경우에는 라이선스 동의가 필요할 수 있습니다.

winget upgrade --id Microsoft.VisualStudioCode --accept-source-agreements

8. 시스템 환경 변수 확인 및 수정

환경 변수 문제로 인한 오류일 수 있습니다.

  1. 제어판 > 시스템 > 고급 시스템 설정 > 환경 변수
  2. PATH 변수에 다음 경로가 포함되어 있는지 확인:
    %LOCALAPPDATA%\Microsoft\WindowsApps
    
  3. 없다면 추가 후 새 PowerShell 창을 열어 다시 시도

오류 코드별 대응 방법

오류 코드: 0x8a150006

이 오류는 주로 설치 프로그램 실행 권한과 관련된 문제입니다.

  1. 임시 폴더 접근 권한 확인:
    %LOCALAPPDATA%\Temp\WinGet
    
  2. 해당 폴더의 모든 파일 삭제 후 재시도
  3. 안티바이러스 프로그램 일시 중지 후 시도

ShellExecute installer failed: 1

이 오류는 설치 프로그램 실행 과정에서 발생하는 문제입니다.

  1. 시스템 파일 검사 실행:
    sfc /scannow
    
  2. DISM 도구 실행:
    DISM /Online /Cleanup-Image /RestoreHealth
    
  3. 시스템 재부팅 후 다시 시도

예방책

향후 이러한 문제를 방지하기 위한 팁:

  1. 정기적으로 winget 업데이트하기:
  2. winget upgrade --self
  3. 소프트웨어 업데이트 전 항상 실행 중인 프로그램 종료하기
  4. 주기적으로 winget 소스 업데이트하기:
  5. winget source update
  6. PowerShell 스크립트 실행 정책 확인:필요시 아래 명령으로 변경:
  7. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  8. Get-ExecutionPolicy

결론

winget은 윈도우에서 소프트웨어를 관리하는 강력한 도구이지만, 가끔 이러한 오류들이 발생할 수 있습니다. 위 해결 방법들을 단계별로 시도해보면 대부분의 문제를 해결할 수 있을 것입니다.

문제가 지속된다면 Microsoft의 공식 winget 저장소에 이슈를 등록하거나, VS Code를 기존 방식으로 설치하는 것도 좋은 대안이 될 수 있습니다.

오늘 소개해 드린 해결 방법들이 여러분의 개발 환경을 원활하게 유지하는 데 도움이 되길 바랍니다!

참고 자료