EXE 패치 버전(누적 패치) 모델과 입력 검사 #12

Open
opened 2026-11-09 16:10:37 +09:00 by jychoi4 · 0 comments
Owner

목적

신규 설치는 해당 버전 전체 설치 파일로, 같은 라인의 이전 버전이 설치된 PC는 누적 패치 파일로 업데이트할 수 있도록 버전 모델을 나눈다.

반영 내용

  • ExeVersion.updateType: major(새 ProductCode) / patch(아래쪽 메이저 버전의 ProductCode 상속). 기존 파일은 major
  • 라인과 기준: line_major, patch_baselines, line_patches
  • 입력 검사: ProductCodeReused, MissingMajorVersion, PatchProductCodeMismatch, BaselineNotLocked, PatchRemovesFiles, PatchMovesFiles, PatchRemovesRegistry, PatchRemovesShortcut
  • 버전 추가 팝업: 종류를 번호에 맞춰 자동 선택(아래쪽 메이저 버전과 Major·Minor가 같으면 패치, 아니면 메이저). 아래에 메이저 버전이 없는 최초 버전은 패치 선택 불가
  • 일반 탭: 종류 표시, 패치 버전의 ProductCode 읽기 전용
  • 설계 문서 15 EXE 버전과 누적 패치

검증

라인 계산·패치 제약·자동 선택·패치 선택 제한 테스트와 validate_document를 통한 패치 검사 통과.

범위

MSI·MSP·Burn 생성, 실제 설치·패치 시험은 구현하지 않았다. 변경 기록: docs/changes/2026-11-09-exe-patch-versions.md.

## 목적 신규 설치는 해당 버전 전체 설치 파일로, 같은 라인의 이전 버전이 설치된 PC는 누적 패치 파일로 업데이트할 수 있도록 버전 모델을 나눈다. ## 반영 내용 - `ExeVersion.updateType`: `major`(새 ProductCode) / `patch`(아래쪽 메이저 버전의 ProductCode 상속). 기존 파일은 `major` - 라인과 기준: `line_major`, `patch_baselines`, `line_patches` - 입력 검사: `ProductCodeReused`, `MissingMajorVersion`, `PatchProductCodeMismatch`, `BaselineNotLocked`, `PatchRemovesFiles`, `PatchMovesFiles`, `PatchRemovesRegistry`, `PatchRemovesShortcut` - 버전 추가 팝업: 종류를 번호에 맞춰 자동 선택(아래쪽 메이저 버전과 Major·Minor가 같으면 패치, 아니면 메이저). 아래에 메이저 버전이 없는 최초 버전은 패치 선택 불가 - 일반 탭: 종류 표시, 패치 버전의 ProductCode 읽기 전용 - 설계 문서 15 EXE 버전과 누적 패치 ## 검증 라인 계산·패치 제약·자동 선택·패치 선택 제한 테스트와 `validate_document`를 통한 패치 검사 통과. ## 범위 MSI·MSP·Burn 생성, 실제 설치·패치 시험은 구현하지 않았다. 변경 기록: `docs/changes/2026-11-09-exe-patch-versions.md`.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jychoi4/networkSetup#12