2025. 4. 10. 10:39ㆍ개발 문서/기타
문제 상황
다음과 같은 명령어로 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을 관리자 권한으로 실행하는 것입니다.
- 시작 메뉴에서 PowerShell을 검색
- 우클릭 후 "관리자 권한으로 실행" 선택
- 명령어 다시 실행:
winget upgrade --id Microsoft.VisualStudioCode
2. 실행 중인 VS Code 프로세스 종료하기
VS Code가 실행 중이면 업그레이드 과정에서 문제가 발생할 수 있습니다.
- 작업 관리자 열기 (Ctrl+Shift+Esc)
- 다음 프로세스들을 찾아 종료:
- Code.exe
- VSCode.exe
- 기타 VS Code 관련 프로세스
- 모든 프로세스를 종료한 후 다시 업그레이드 명령 실행
3. winget 캐시 초기화하기
winget 캐시에 문제가 있을 수 있으므로 초기화 후 다시 시도합니다.
winget source reset
winget upgrade --id Microsoft.VisualStudioCode
4. 강제 설치 옵션 사용하기
--force 옵션을 사용하여 강제로 설치를 진행할 수 있습니다.
winget install --id Microsoft.VisualStudioCode --force
5. 임시 폴더 정리하기
winget이 사용하는 임시 폴더를 정리해 봅시다.
- 다음 경로로 이동:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalCache\
- 이 폴더 내의 파일들을 삭제 (중요: 폴더 자체는 삭제하지 마세요)
- 컴퓨터 재시작 후 다시 시도
6. 직접 다운로드하여 수동 설치하기
winget으로 설치가 계속 실패한다면, 수동 설치를 시도해 볼 수 있습니다.
- VS Code 공식 웹사이트에서 설치 파일 다운로드
- 다운로드된 설치 파일 실행
- 설치 완료 후 winget 목록 업데이트:
winget source update
7. --accept-source-agreements 옵션 추가하기
일부 경우에는 라이선스 동의가 필요할 수 있습니다.
winget upgrade --id Microsoft.VisualStudioCode --accept-source-agreements
8. 시스템 환경 변수 확인 및 수정
환경 변수 문제로 인한 오류일 수 있습니다.
- 제어판 > 시스템 > 고급 시스템 설정 > 환경 변수
- PATH 변수에 다음 경로가 포함되어 있는지 확인:
%LOCALAPPDATA%\Microsoft\WindowsApps
- 없다면 추가 후 새 PowerShell 창을 열어 다시 시도
오류 코드별 대응 방법
오류 코드: 0x8a150006
이 오류는 주로 설치 프로그램 실행 권한과 관련된 문제입니다.
- 임시 폴더 접근 권한 확인:
%LOCALAPPDATA%\Temp\WinGet
- 해당 폴더의 모든 파일 삭제 후 재시도
- 안티바이러스 프로그램 일시 중지 후 시도
ShellExecute installer failed: 1
이 오류는 설치 프로그램 실행 과정에서 발생하는 문제입니다.
- 시스템 파일 검사 실행:
sfc /scannow
- DISM 도구 실행:
DISM /Online /Cleanup-Image /RestoreHealth
- 시스템 재부팅 후 다시 시도
예방책
향후 이러한 문제를 방지하기 위한 팁:
- 정기적으로 winget 업데이트하기:
- winget upgrade --self
- 소프트웨어 업데이트 전 항상 실행 중인 프로그램 종료하기
- 주기적으로 winget 소스 업데이트하기:
- winget source update
- PowerShell 스크립트 실행 정책 확인:필요시 아래 명령으로 변경:
- Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- Get-ExecutionPolicy
결론
winget은 윈도우에서 소프트웨어를 관리하는 강력한 도구이지만, 가끔 이러한 오류들이 발생할 수 있습니다. 위 해결 방법들을 단계별로 시도해보면 대부분의 문제를 해결할 수 있을 것입니다.
문제가 지속된다면 Microsoft의 공식 winget 저장소에 이슈를 등록하거나, VS Code를 기존 방식으로 설치하는 것도 좋은 대안이 될 수 있습니다.
오늘 소개해 드린 해결 방법들이 여러분의 개발 환경을 원활하게 유지하는 데 도움이 되길 바랍니다!
참고 자료
'개발 문서 > 기타' 카테고리의 다른 글
Base64란 무엇인가? (0) | 2025.03.17 |
---|---|
GitHub Actions로 CI/CD 구축하기 (0) | 2025.03.16 |
Django와 FastAPI 비교 (0) | 2025.03.16 |
RESTful API란? 개념부터 활용까지 완벽 정리 (0) | 2025.03.15 |
Redis 과부하(Overload)의 원인과 효과적인 해결 방법 (0) | 2025.03.15 |