103 lines
8.9 KiB
Markdown
103 lines
8.9 KiB
Markdown
# 2. 앱 등록과 패키지 준비
|
|
|
|
[목차](README.md) · 이전: [개발자 계정](01-developer-account.md) · 다음: [제출과 공개](03-submit-and-update.md)
|
|
|
|
## 1. 앱 이름 예약하기
|
|
|
|
1. 가입을 완료한 계정으로 [Partner Center](https://partner.microsoft.com/dashboard)에 로그인한다.
|
|
2. **Apps & Games → New product**를 연다.
|
|
3. **MSIX or PWA app**을 선택한다. 이 매뉴얼은 MSIX 경로다.
|
|
4. 원하는 이름을 입력한다. 예: `EG-BIM`.
|
|
5. **Check availability**로 사용 가능 여부를 확인한다.
|
|
6. 사용 가능한 이름이면 **Reserve product name**을 누른다.
|
|
|
|
**완료 확인:** EG-BIM의 **Application overview(앱 개요)** 화면이 나온다. 이름 예약만으로 사용자에게 공개되지는 않는다. [Microsoft 시작 안내](https://learn.microsoft.com/en-us/windows/apps/publish/get-started)
|
|
|
|
## 2. Store가 정한 식별 정보 복사하기
|
|
|
|
앱을 연 상태에서 **Product management → Product identity**로 이동한다. 아래 세 값을 복사해 둔다. 예시를 임의로 만들어 입력하지 않는다.
|
|
|
|
| Partner Center 항목 | Installer Studio 입력 위치 |
|
|
| --- | --- |
|
|
| `Package/Identity/Name` | **패키지 설정 → Identity Name** |
|
|
| `Package/Identity/Publisher` | **패키지 설정 → Publisher** |
|
|
| `Package/Properties/PublisherDisplayName` | **앱 정보 → 게시자 표시명** |
|
|
|
|
`Publisher`는 `CN=...` 형태일 수 있으며 게시자 표시명과 다르다. **프로젝트 ID**에는 내부 관리용 `egbim` 등을 사용한다. Store ID나 MSI ProductCode를 프로젝트 ID에 넣을 필요는 없다. Store ID와 Package Family Name은 관리 기록으로 보관한다. [Store 식별 정보](https://learn.microsoft.com/en-us/windows/apps/publish/view-app-identity-details)
|
|
|
|
**완료 확인:** 세 값을 복사했으며 원문과 대소문자·공백까지 대조했다. 이 제작기는 자동 Store 연결 기능이 없으므로 사람이 옮겨야 한다.
|
|
|
|
## 3. Installer Studio에서 제출 후보 만들기
|
|
|
|
샘플 설정을 보존하려면 파일 탐색기에서 `InstallerProject.isproj`와 같은 폴더의 `InstallerProject.isproj.local.json`을 **별도 작업 폴더**로 복사한다. 이름이 다르면 해당 `.isproj`와 그 이름에 `.local.json`을 붙인 파일을 복사한다. `.work`와 `releases`는 복사할 필요 없다. 상대 소스 경로는 폴더가 바뀌면 달라지므로 아래에서 다시 연결한다. 기존 `.json` 프로젝트는 지원하지 않으므로 해당 샘플만 있다면 새 프로젝트를 만든다.
|
|
|
|
1. Installer Studio의 **열기**로 복사한 프로젝트를 연다.
|
|
2. **앱 정보**에서 예약한 앱 이름, 게시자 표시명을 입력한다.
|
|
3. **파일 구성**에서 실제 배포용 소스 폴더를 연결한다. EG-BIM 예시는 `D:\egbim\repo\14.1\Build`이며, 별도 구성 요소는 실제 위치를 확인한다.
|
|
4. **패키지 설정**에서 앞 단계의 Name·Publisher를 붙여넣는다.
|
|
5. 패키지 버전을 입력한다. 이 매뉴얼의 예시는 최초 `14.1.0.0`, 다음 업데이트 `14.1.1.0`이다. 실제 제품의 기존 배포 버전과 맞춰 결정한다.
|
|
6. 실행 파일과 아키텍처가 맞는지 확인한다. x64 앱에 단순히 arm64를 선택해서 변환할 수는 없다.
|
|
7. **레지스트리** 탭에서 필요한 설정을 확인한다. 이전 ISM의 설정이 모두 자동으로 가져와졌다고 가정하지 않는다.
|
|
8. **서명**에서 아래 용도 구분에 맞게 선택한다.
|
|
9. **검증·빌드**에서 SDK 도구 선택 → 입력 검사 → 빌드 계획 생성 → MSIX 빌드를 차례로 누른다.
|
|
10. 완료 화면의 산출물 경로를 기록하고 **결과·보고서 내보내기**로 보관한다. 기본 산출물은 프로젝트 폴더의 `releases\<빌드 ID>\package.msix`다.
|
|
|
|
Store 제출용 버전은 마지막 자리를 `0`으로 유지하는 규칙으로 운영한다. Name·Publisher를 유지하고 버전을 올린다. Microsoft의 Windows 10/11 패키지 버전 규칙과 파일 형식 조건을 함께 확인한다. [패키지 요구사항](https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/msix/app-package-requirements)
|
|
|
|
### 서명 선택은 어떻게 하나요?
|
|
|
|
| 목적 | 현재 제작기에서 할 일 |
|
|
| --- | --- |
|
|
| 내 PC/테스트 PC에서 먼저 설치 | **개발자 서명** 선택 → 현재 Publisher와 일치하는 인증서 생성/선택 → 빌드. 테스트 PC에는 공개 인증서를 별도로 신뢰 등록 |
|
|
| Store 업로드 후보 생성 | **미서명**으로 생성할 수 있다. Store 식별 정보를 정확히 넣고, 테스트용 빌드와 별도로 보관 |
|
|
| 일반 사용자가 웹에서 직접 설치 | 공인 서명 등 별도 배포 준비 필요. 현재 테스트 인증서를 그대로 일반 사용자 배포에 사용하지 않음 |
|
|
|
|
Store용 MSIX에는 유료 CA 인증서 구매가 선행 조건이 아니다. Microsoft가 심사 후 배포 과정에서 패키지를 다시 서명한다. 현재 미서명 파일을 더블클릭해 설치할 수 있다는 의미는 아니다. [서명 선택 안내](https://learn.microsoft.com/en-us/windows/apps/package-and-deploy/code-signing-options)
|
|
|
|
**Store 제출물에 PFX, 인증서 개인 키, 테스트 인증서 등록 스크립트를 넣지 않는다.** 내부 테스트 인증서 등록 방법은 [개발자 서명 설명](../../changes/2026-10-23-developer-signing.md)을 따른다.
|
|
|
|
## 4. 현재 제작기의 Store 준비 상태
|
|
|
|
2026-10-26 소스 확인 기준이다. 아래는 Microsoft의 제한이 아니라 **우리 프로그램의 구현 상태**다.
|
|
|
|
| 항목 | 현재 상태와 해야 할 일 |
|
|
| --- | --- |
|
|
| MSIX 파일 생성 | 가능. 생성 결과를 Partner Center에서 수동 검사할 수 있음 |
|
|
| Name·Publisher·게시자 표시명 입력 | 가능. Store 값을 직접 입력 |
|
|
| Store 전용 출력 대상 | 미구현. JSON에서 `distribution`을 `store`로 바꾸면 현재 검증이 거부함 |
|
|
| 현재 `direct` 설정 | 일반 MSIX 생성 경로를 뜻함. Store 승인이나 자동 제출을 의미하지 않음 |
|
|
| 패키지 언어 | manifest 생성 코드가 `en-us`로 고정됨. 한국어 EG-BIM은 지원 언어 선언을 맞추는 개발 작업 후 다시 생성해야 함 |
|
|
| Store 전용 자산·버전·정책 검사 | 미구현. Windows App Certification Kit와 Partner Center에서 추가 확인 |
|
|
| 업로드·심사 요청·그룹 관리 | 브라우저에서 수동 진행 |
|
|
|
|
개발 담당자 확인 위치: [manifest 생성과 검증 코드](../../../src/crates/package-domain/src/lib.rs), [제작기 사용 설명](../../../src/README.md).
|
|
|
|
**한국어 앱을 그대로 제출하기 전에 언어 선언을 보완한다.** 이미 만든 MSIX 내부 파일을 직접 바꾸면 서명·검증 결과가 무효가 될 수 있으므로, 프로젝트/생성 코드를 수정한 후 새로 빌드한다. 이 매뉴얼 작성으로 해당 기능이 구현되지는 않았다.
|
|
|
|
## 5. 설치 및 실행 확인
|
|
|
|
EG-BIM 담당자는 테스트 PC에서 다음을 확인하고 결과를 기록한다.
|
|
|
|
- 처음 설치한 뒤 시작 메뉴에서 실행되는가?
|
|
- 기존 `C:\Program Files\Baron` 설치에 의존하지 않고 실행되는가?
|
|
- 사용자 설정·라이선스·문서가 읽히고 저장되는가?
|
|
- EgViewer, CAD 연동, 플러그인과 필요한 런타임이 실제로 동작하는가?
|
|
- 업데이트 후 사용자 데이터가 유지되는가?
|
|
- 기존 EXE 설치본과 함께 있을 때 충돌하거나 잘못된 프로그램이 실행되지 않는가?
|
|
- 제거 후 남겨야 하는 사용자 자료가 보존되는가?
|
|
|
|
이 목록은 EG-BIM 전환을 위한 프로젝트 점검 항목이다. 현재 샘플의 서명 성공만으로 완료 처리하지 않는다. 기존 EXE 설치본의 제거·데이터 이전도 자동 구현된 상태가 아니다.
|
|
|
|
Windows SDK의 **Windows App Certification Kit(WACK)**는 Store 관련 기술 검사를 수행하는 별도 도구다. 없다면 Windows SDK 설치 구성에서 해당 도구를 준비한다.
|
|
|
|
1. 위에서 만든 테스트 서명본을 테스트 PC에 설치한다.
|
|
2. 시작 메뉴에서 **Windows App Cert Kit**를 검색해 실행한다.
|
|
3. **Validate a Windows app**을 선택한다.
|
|
4. 설치한 EG-BIM을 선택한다. 목록에 없으면 **My app isn't listed**에서 전체 목록을 확인한다.
|
|
5. **Next**로 검사 항목을 확인하고 실행한다. 실패를 피하려고 필요한 검사를 임의로 제외하지 않는다.
|
|
6. 완료 시 보고서 저장 폴더를 지정한다. HTML/XML 결과를 열어 실패 항목을 확인한다.
|
|
|
|
실패 항목은 개발 담당자가 수정한다. 검사 통과 후에도 Store 심사는 별도로 진행된다. [WACK 사용 설명](https://learn.microsoft.com/en-us/windows/uwp/debug-test-perf/windows-app-certification-kit)
|
|
|
|
**완료 확인:** 설치·주요 기능·업데이트 시험 결과와 WACK 보고서가 준비되고, Store 식별 정보 및 언어 설정을 확인했다. 그다음 [3. 제출·심사·공개](03-submit-and-update.md)로 이동한다.
|