Files
jychoi4 24b624301c docs: define MSIX-first packaging design and roadmap
Document package formats, release workflows, deployment planning and UI concepts.

Closes #1
2026-10-27 16:30:00 +09:00
..

설치 패키지 자동화 생성 프로그램 설계

작성 기준: 2026-10-16. 2026-10-19 범위 정정: 범용 Windows 설치 패키지 제작기이며 EG-BIM/Baron은 적용 사례다. 구현 언어는 Rust, 데스크톱 화면은 Tauri 기반 웹 UI로 확정한다. 이 문서들은 구현 전 설계이며 실행 가능한 프로그램이나 검증된 설치 패키지는 아직 없다.

현재 첫 버전은 MSIX 제작기다. GUI와 CI용 CLI가 같은 Rust 엔진과 Windows SDK MakeAppx + manifest 백엔드를 사용한다. EXE/MSI/MSP/Burn·HTML 설치 마법사는 후속 단계로 유지한다. Store 제출도 후속이며 직접 배포에 Store 계정을 요구하지 않는다. 12번 MSIX 우선 설계가 현재 범위/완료 기준이고 11번은 장기 두 형식 확장 구조다.

문서 구성

2026-10-26 추가 결정: 프로그램 명칭은 Installer Studio, 프로젝트 확장자는 **.isproj**다. 내부 형식은 JSON v2를 유지하며 기존 JSON 호환은 제공하지 않는다. 13번 파일 형식 설계를 파일 다이얼로그·저장소에 적용했으며 탐색기 연결은 후속 작업이다.

문서 설계 내용
프로그램 설계서 — Word 참고 Google Docs 양식을 적용한 MSIX 우선 통합 설계서: 기능 정의·흐름도·화면·인터페이스·검증·일정
01 구조와 모듈 Tauri, Rust 공통 엔진, CLI, 작업 실행과 저장 구조
02 프로젝트와 데이터 모델 설정 파일, 파일 목록, 릴리스 기록, 예제 JSON
03 파일·설치 위치·레지스트리 파일 수집, 컴포넌트, 설치 경로, 레지스트리 작성 규칙
04 버전과 GUID ProductCode, UpgradeCode, PackageCode, 패치 계열
05 릴리스 생성 스냅샷, WiX 생성, 서명, 대용량 분할, 산출물 확정
06 패치 생성 기준 선택, 호환성 판정, MSP 생성, 전체 설치 전환
07 화면과 명령 인터페이스 화면별 기능, Tauri IPC, 작업 이벤트, CLI
08 검증과 구현 순서 자동 검증, Windows VM 시험, 단계별 완료 기준
09 설치 과정과 UI 편집 단계 추가·삭제·순서·조건, UI 테마, 사용자 정의 Burn 화면
10 설치 마법사 재설계 InstallShield/Inno Setup 패턴, 5개 모드, 페이지·취소·실패·재부팅 및 편집 화면 계약
12 MSIX 우선 제작기 현재 1차 범위, 생성 계약, 제작 화면, 검증 기준
13 프로젝트 파일 형식 .isproj, JSON v2 내용, 로컬 설정·백업 이름, 기존 JSON 거부와 GUI/CLI 규칙
MSIX-only 예제 EXE 설정이 없는 현재 설계용 입력
11 범용 EXE·MSIX 구조 제품 범위, 출력/배포 분리, MSIX 계약과 완료 기준
범용 프로젝트 예제 v2 두 형식을 함께 요청하는 미확정 설계 입력
EG-BIM 프로젝트 예제 v1 이전 EXE 전용 초안; v2 가져오기 대상

범위와 결정

구분 내용
1차 필수 공통 제품/파일 설정, MSIX 생성, 서명·검증·불변 보관·내보내기·GUI/CLI
후속 — EXE 설치 경로, 레지스트리, 버전/GUID, 전체 릴리스, 버전별 MSP
1차 필수 — MSIX manifest/identity/자산/의존성, MakeAppx 생성, 직접 배포 서명, 버전별 업데이트
후속 — EXE PE·MSI·MSP·Burn 서명 연동, 대용량 CAB, MSP 기준 보존
후속 — EXE 제작자의 설치 과정 추가·삭제·조건 편집, 설치 UI 커스터마이징; 표준 테마와 사용자 정의 BA의 지원 범위 구분
확정 Windows 대상, InstallShield 중단, Rust + Tauri
설계 제안 Tauri 2, TypeScript + React + Vite, JSON v2, MakeAppx/SignTool; WiX/Burn은 후속
연계 업로드용 메타데이터 내보내기, 개발자→1차→2차→사용자 배포에 동일 아티팩트 사용
별도 시스템 배포 서버·그룹 승인, EG-BIM의 실제 자동 업데이트 실행부, Store 제출
후속 검토 MSIX 다중 아키텍처 bundle, 클라우드 업로드 어댑터, 기존 ISM의 자동 가져오기

Tauri는 생성 프로그램의 화면과 데스크톱 실행 환경이다. Tauri가 제작기 자체를 배포하는 번들러와 고객 제품의 EXE/MSIX를 만드는 엔진은 별개다. EG-BIM을 Tauri 앱으로 바꾸거나, Tauri 업데이터를 기존 제품에 바로 적용한다는 뜻이 아니다.

EG-BIM EXE 적용 사례에서는 기존 설치 기본 경로 C:\Program Files\Baron\EG-BIM을 유지한다. 실제 설치 파일 목록은 별도로 확정해야 하며 D:\egbim\repo\14.1 전체를 배포 파일로 취급하지 않는다. InstallShield 제거 스크립트가 사용자 데이터를 지울 수 있으므로 최초 전환에는 백업·복원 검증이 필요하다. 기존 현황, 설치기 전환

EXE 출력의 전체 설치 결과는 단일 파일로 한정하지 않는다. 대용량 기본 출력은 Setup.exe + MSI + 분할 CAB + 필수 런타임 레이아웃이며, 네트워크용 EXE는 필요한 데이터를 내려받는다. 직접 배포용 단일 오프라인 EXE도 지원하며, Store 대상은 제출 요건을 추가 검사한다. MSIX는 Store와 관계없이 별도 백엔드에서 생성한다.

완료된 설계와 남은 확정 사항

문서의 타입·명령·파일 형식은 구현 계약 제안이다. 도구의 정확한 버전, 제조사 표시명, 실제 배포 소스 폴더, 필수 런타임 목록, 서명 프로필, 지원 기준 릴리스는 첫 구현 단계에서 확정한다. 값이 비어 있거나 검증되지 않은 프로젝트는 편집·미리보기만 허용하고 정식 릴리스 확정은 차단한다.

기존 운영 정책은 배포 계획을 따른다. 이 설계에서는 생성 프로그램의 책임과 출력 계약을 구체화한다.

2026-10-19 검토에서 통합 구현 순서를 백로그와 단독 개발 일정으로 정리했다. AI 지원 없이 개발자 1명이 제작기·업데이터·서버·검증을 수행하는 기준이며, 현재는 MSIX 작은 빌드·서명·업데이트 실험을 초기에 배치하고 전환/BA 실험은 후속으로 이월한다.