최대 1 분 소요

😢상황

  • Microsoft Store에 앱을 제출했는데 다음과 같은 보안 관련 오류 메시지와 함께 반려됨

오류 메시지
“The binary submitted through the https direct link has changed.”

  • 이는 설치 파일이 제출 당시와 다른 파일로 바뀌었다는 의미
  • 즉, 같은 URL에서 다른 바이너리 파일이 제공되고 있다는 것

🛠️해결법

방법 1: 파일 URL을 버전별로 다르게 제출 (권장)

  • 설치 파일을 업로드한 서버(예: GitHub Releases, AWS, 웹서버 등)에서
    • 기존 파일은 그대로 두고
    • 새 버전은 새로운 파일명 또는 경로로 업로드

    예시:

    버전 다운로드 URL
    v1.0 https://yourserver.com/downloads/myapp-v1.0.msi
    v1.1 https://yourserver.com/downloads/myapp-v1.1.msi
    • 그런 다음, Store 제출 시 해당 새로운 URL을 등록

방법 2: 한 번 제출한 파일은 절대 수정하지 않기

  • Store는 파일의 해시(SHA256) 를 저장함
  • 동일한 URL에서 다른 파일을 제공하면 무결성 위반으로 간주
  • 반드시 버전마다 다른 경로/이름으로 업로드 필요

🔐 보안 메커니즘 이해하기

  • MS Store는 보안 및 검증을 위해 제출된 설치 파일의 해시값을 저장
  • 이후 동일한 URL에서 해당 파일을 다시 다운로드해 해시 일치 여부를 확인
  • 만약 변경된 파일이 있다면 위조 가능성으로 판단하여 제출을 거부함

정리: 왜 이게 효과 있었는가?

  • 이 에러는 앱의 신뢰성과 일관성 유지를 위한 보호 절차
  • 파일이 바뀌었다는 건 해킹 또는 덮어쓰기의 가능성이 있으므로 반려
  • 버전별로 다른 URL을 사용하는 전략이 공식적인 해결책