현업에서 개발을 하다 보면 코딩보다 환경 설정에서 더 큰 벽을 만날 때가 있습니다. 특히 제가 몸담고 있는 증권사처럼 보안이 철저한 폐쇄망 환경에서는 더욱 그렇습니다.
최근 Visual Studio 2022를 설치하려다 **’다운로드 -> 확인(Verifying) -> 삭제 -> 재시도’**가 무한 반복되는 현상을 겪었습니다. 며칠간의 씨름 끝에 찾아낸 원인과 해결 방법을 공유합니다. 저와 같은 환경에 계신 분들의 퇴근 시간을 지켜드리고 싶네요.
[증상: 끝나지 않는 설치 루프] 설치 프로그램(Bootstrapper)을 실행하면 파일 다운로드가 완료된 후, 설치로 넘어가지 않고 다시 다운로드를 시작합니다. 이 과정이 5~6번 반복되다가 결국 설치 실패 메시지가 뜹니다.
로그 파일(dd_setup_...log)을 확인해 보니 아래와 같은 오류가 기록되어 있었습니다.
[Exit code] 0x138c (5004)
[Error Log] Error 0x80096004: Certificate is invalid: vs_installer.opc
특이한 점은, 다운로드된 vs_installer.opc 파일의 속성을 확인해보니 디지털 서명 탭이 아예 보이지 않거나, 서명자가 확인되지 않는 상태였다는 것입니다.
[원인 분석: 범인은 ‘누락된 인증서’] 처음엔 파일이 깨진 줄 알았으나, 원인은 윈도우의 ‘인증서 신뢰 체인’ 문제였습니다.
일반적인 PC는 윈도우 업데이트를 통해 최신 인증서를 자동으로 받아옵니다. 하지만 외부망 접속이 제한된 사내 PC에는 마이크로소프트의 최신 서명용 인증서가 설치되어 있지 않았던 것입니다.
이 때문에 윈도우는 정상적인 설치 파일을 “서명이 없는(신뢰할 수 없는) 파일”로 간주하여, 보안을 위해 다운로드 직후 삭제해버리는 과정을 반복했던 것입니다.
[해결 방법: 중간 인증서(Intermediate CA) 수동 설치] 문제의 핵심은 루트 인증서가 아니라, 그 하위의 중간 인증서였습니다. 아래 인증서를 수동으로 설치해주니 거짓말처럼 설치가 진행되었습니다.
- 필요한 인증서:
Microsoft Windows Code Signing PCA 2024.crt
[Step-by-Step 적용법]
- 인터넷이 가능한 외부 PC에서
Microsoft Windows Code Signing PCA 2024인증서를 검색하여 다운로드합니다. (또는 윈도우 업데이트가 잘 된 PC에서 추출) - 해당
.crt파일을 설치하려는 PC로 옮깁니다. - 파일을 더블 클릭하여 **[인증서 설치]**를 누릅니다.
http://www.microsoft.com/pkiops/certs/Microsoft%20Windows%20Code%20Signing%20PCA%202024.crt
[마무리] 인증서 설치 후 다시 Visual Studio 설치 관리자를 실행하니, 무한 루프 없이 깔끔하게 설치가 완료되었습니다.
개발 환경 구축, 특히 보안이 강한 엔터프라이즈 환경에서는 ‘파일 문제’처럼 보이는 것이 실제로는 ‘인증/권한’ 문제인 경우가 많다는 것을 다시 한번 깨달았습니다. 이 글이 0x80096004 오류로 고통받는 개발자분들께 도움이 되기를 바랍니다.