112 lines
9.7 KiB
Markdown
112 lines
9.7 KiB
Markdown
# 3. 제출·심사·공개·업데이트
|
||
|
||
[목차](README.md) · 이전: [패키지 준비](02-app-and-package.md) · 문제 해결: [오류와 체크리스트](04-troubleshooting.md)
|
||
|
||
## 1. 제출에 쓸 자료 준비
|
||
|
||
아래는 EG-BIM 담당자가 모아둘 작업 자료다. 사실과 다른 기능 설명이나 임시 문구는 제거한다.
|
||
|
||
| 자료 | 준비 예시 |
|
||
| --- | --- |
|
||
| 제출 후보 파일 | 검증한 `package.msix` |
|
||
| 앱 소개 | 누구를 위한 프로그램인지, 실제 제공하는 기능, 사용에 필요한 라이선스 |
|
||
| 실행 화면 | 시작 화면, 실제 작업 화면, 주요 결과 화면 |
|
||
| 고객 지원 | 담당 이메일, 지원 웹페이지 |
|
||
| 개인정보처리방침 | 개인정보 수집·전송이 있는 경우 실제 공개 URL |
|
||
| 심사 안내 | 실행 순서, 샘플 자료, 필요한 외부 프로그램, 테스트용 계정/라이선스 |
|
||
| 변경 사항 | 이번 버전에서 추가·수정한 내용 |
|
||
|
||
스크린샷은 현재 PC 앱을 직접 실행해 촬영한다. Desktop 기준 PNG, 1366×768 이상, 파일당 50MB 이하로 준비할 수 있다. 설치 프로그램 화면이나 제작기 화면이 아니라 **EG-BIM 사용 화면**을 올린다. 로고는 업로드 칸에 표시된 규격에 맞춘다. [공식 이미지 규격](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/screenshots-and-images)
|
||
|
||
## 2. 제출 초안 만들기
|
||
|
||
Partner Center에서 **Apps & Games → 해당 앱 → Application overview → Product release → Start submission**을 연다. 아래 항목을 작성하고 각각 **Save**를 누른다.
|
||
|
||
| 화면 | 입력 내용 |
|
||
| --- | --- |
|
||
| Pricing and availability | 가격, 제공 국가, 공개 대상 |
|
||
| Properties | 앱 분류, 회사 연락처, 필요한 개인정보처리방침 URL |
|
||
| Age ratings | 연령 등급 설문에 실제 앱 내용대로 답변 |
|
||
| Packages | MSIX 업로드 |
|
||
| Store listings | 지원 언어별 소개, 스크린샷 등 |
|
||
| Submission options | 심사 참고 사항, 공개 시점, 제한된 기능 사용 설명 |
|
||
|
||
회사 계정의 연락처, 개인정보 수집·전송 시의 개인정보처리방침 등 필수 항목을 확인한다. 앱 소개와 스크린샷은 최소 한 지원 언어에서 완성해야 한다. 최소 한 장의 스크린샷을 준비하고, 이 프로젝트에서는 기능을 보여주는 4장을 권한다. [제출 항목 안내](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/create-app-submission)
|
||
|
||
가격은 제품 판매 정책에 맞춰 결정한다. 기존 EG-BIM 라이선스가 필요한 앱이라면 다운로드 가격과 사용 라이선스 조건을 혼동하지 않도록 소개문에 설명한다. 유료 판매를 선택할 때는 계정에 요구되는 정산·세금 설정도 완료한다.
|
||
|
||
## 3. 첫 배포는 비공개 테스트로 시작
|
||
|
||
권장 절차는 **Pricing and availability → Visibility → Audience → Private audience**를 선택하고 테스트 그룹을 만드는 것이다. 대상자의 **개인 Microsoft 계정 이메일**을 등록한다. 회사 개발자 계정을 Entra ID로 만들었더라도, 비공개 앱을 받는 테스트 계정은 개인 Microsoft 계정이어야 한다.
|
||
|
||
**Public audience로 제출한 뒤에는 Private audience로 되돌릴 수 없다.** 최초 테스트 단계에서 공개 대상을 먼저 확인한다. 검색에서 숨기는 Discoverability 설정만으로 특정 사람만 설치하도록 제한되는 것은 아니다. [공개 범위 설정](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/visibility-options)
|
||
|
||
## 4. MSIX 업로드
|
||
|
||
1. **Packages**를 연다.
|
||
2. 파일 선택 또는 끌어놓기로 `package.msix`를 올린다. `.msix` 자체도 지원 형식이다.
|
||
3. 업로드와 자동 검사가 끝날 때까지 기다린다.
|
||
4. 오류가 있으면 해당 문구를 기록한다. 잘못된 파일을 제거하고 원본 설정을 수정해 다시 빌드한다.
|
||
5. 표시된 Name, 버전, 아키텍처, 지원 장치를 확인하고 **Save**한다.
|
||
|
||
Microsoft는 `.msixupload`도 권장하지만 현재 제작기는 `.msix`를 생성한다. 확장자만 `.msixupload`로 바꾸지 않는다. 로컬 프로젝트 JSON이나 CER는 패키지 업로드 대상이 아니다. [업로드 가능한 형식과 검사](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/upload-app-packages)
|
||
|
||
**완료 확인:** 패키지 검사 오류가 없고 제출 필수 항목이 완료됐다. 파일에 `Validated`가 보여도 섹션 전체는 필수 입력 누락으로 `Incomplete`일 수 있다. [제출 완료 조건](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/create-app-submission)
|
||
|
||
## 5. 심사자가 실행할 수 있도록 설명
|
||
|
||
**Submission options → Notes for certification**에 아래 항목을 실제 동작에 맞춰 작성한다. 이 틀은 EG-BIM용 작성 예시이며 완성된 심사 설명문은 아니다.
|
||
|
||
```text
|
||
앱 목적: [실제 EG-BIM 기능 설명]
|
||
실행 방법: 시작 메뉴에서 [실제 이름] 실행
|
||
시험 순서: [샘플 열기 → 기능 실행 → 결과 확인]
|
||
필요 환경: [지원 OS, 외부 CAD/런타임 등 실제 필요한 항목]
|
||
라이선스/로그인: [필요 여부, 심사용 접근 방법]
|
||
runFullTrust 사용 이유: [기존 Win32 실행 구조와 필요한 기능을 구체적으로 설명]
|
||
이번 변경: [수정한 내용]
|
||
```
|
||
|
||
현재 제작기는 `runFullTrust`를 선언한다. 제한된 기능 설명을 요청받으면 앱에서 왜 필요한지 작성한다. 이것이 관리자 권한의 자동 부여를 의미하지는 않는다. 시험에 로그인이 필요하면 운영 계정 대신 심사용 계정을 마련하고 접근 방법을 심사 메모에 제공한다. [심사 메모와 기능 설명](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/manage-submission-options)
|
||
|
||
공개 시점을 직접 정하려면 같은 화면의 Publishing hold 옵션에서 **Publish now를 선택할 때까지 공개하지 않는 항목**을 선택한다. 기본값은 심사 통과 후 공개 진행이므로 최초 제출에서 확인한다. [공개 보류 옵션](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/manage-submission-options)
|
||
|
||
## 6. 심사 요청 및 결과 확인
|
||
|
||
1. 앱 개요에서 누락 항목을 확인한다.
|
||
2. **Submit for certification**을 누른다.
|
||
3. 상태와 알림 이메일을 확인한다. 심사에는 보안·기술·내용 검토가 포함된다.
|
||
4. 거절되면 심사 보고서의 실패 항목을 수정하고 다시 제출한다.
|
||
5. 통과 후 수동 공개 보류를 선택했다면 **Publish now**로 배포를 시작한다.
|
||
|
||
통과·공개까지 걸리는 시간은 심사 상태에 따라 달라진다. 공개 처리 중과 실제 Store 설치 가능 상태를 구분한다. [심사 절차](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/app-certification-process)
|
||
|
||
비공개 앱은 Partner Center가 제공하는 **인증이 필요한 비공개 앱 링크**로 테스트한다. 대상 Microsoft 계정으로 Store에 로그인해 설치·실행을 확인한다. 비대상 계정의 접근 제한도 확인한다. [비공개 링크 안내](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/visibility-options)
|
||
|
||
## 7. 개발자 → 1차 → 2차 → 일반 사용자
|
||
|
||
최초 제출을 게시한 후 앱 개요의 **Package flights → New package flight**에서 테스트 배포를 만든다. Flight는 특정 그룹에 다른 패키지를 제공하는 기능이다. 테스트 패키지도 심사를 거친다. [Package flights](https://learn.microsoft.com/en-us/windows/apps/publish/package-flights)
|
||
|
||
| 단계 | 이 프로젝트의 권장 그룹 | 진행 기준 |
|
||
| --- | --- | --- |
|
||
| 개발자 | `egbim-dev` | 설치·실행·기본 기능 확인 |
|
||
| 1차 테스터 | `egbim-test1` | 주요 업무 시나리오 확인 |
|
||
| 2차 테스터 | `egbim-test2` | 실제 작업 환경·업데이트 확인 |
|
||
| 사용자 | 일반 제출 | 앞 단계 결과를 확인하고 일반 공개 |
|
||
|
||
Flight 생성 시 이름과 테스트 그룹을 지정하고, Packages에 패키지를 추가해 제출한다. 다음 단계에는 검증한 패키지를 복사/선택해 같은 후보를 배포할 수 있다. 여러 Flight에 속한 사용자는 설정한 우선순위의 영향을 받으므로 처음에는 그룹이 겹치지 않게 운영한다. 비공개 앱이라면 상위 Private audience에도 해당 테스터가 포함되어야 한다. [Flight 생성·순위](https://learn.microsoft.com/en-us/windows/apps/publish/package-flights), [비공개 대상과 Flight](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/visibility-options)
|
||
|
||
일반 공개할 때는 새 일반 제출에서 검증 패키지를 선택하고 Public audience로 전환한다. **현재 Installer Studio에 이 네 단계 관리 화면은 없으며 Partner Center에서 운영한다.** Cloudflare의 그룹 배포 설정과 자동 연동되지 않는다.
|
||
|
||
## 8. 다음 버전 배포
|
||
|
||
이 프로젝트의 반복 작업은 다음과 같다.
|
||
|
||
1. 같은 Store 앱의 Name·Publisher를 유지한다.
|
||
2. 예를 들어 `14.1.0.0`을 `14.1.1.0`으로 올리고 전체 MSIX를 새로 만든다.
|
||
3. 기존 버전에서 업데이트하는 시험을 진행한다.
|
||
4. Flight에서 확인한 뒤 같은 앱의 업데이트 제출로 배포한다. 새 제품을 만들지 않는다.
|
||
5. 새 설치와 기존 설치의 업데이트 결과를 각각 확인한다.
|
||
|
||
문제 버전을 받은 사용자에게 낮은 버전이 자동 설치된다고 가정하지 않는다. 수정 패키지에 더 높은 버전을 부여해 재제출하는 복구 계획을 준비한다. [버전 및 복구 안내](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/app-package-requirements)
|