Document package formats, release workflows, deployment planning and UI concepts. Closes #1
5.0 KiB
요구사항과 기존 프로그램 현황
현재 1차 범위는 MSIX 우선 제작기다. EXE/MSP·EG-BIM 전환·자체 그룹 배포·Store 제출은 후속으로 유지하며 첫 출시 의존성에서 제외한다. 아래 기존 분석/확장 계약보다 이 범위와 일정 v3가 우선한다.
제품의 공통 요구는 여러 제품의 EXE·MSIX 설치 패키지를 만드는 범용 제작기다. 아래 경로·GUID·수량·기존 업데이터 분석은 EG-BIM 적용 사례의 현황이며 공통 엔진 기본값이나 모든 제품의 선행 조건이 아니다. 범용 출력 설계 참조.
EG-BIM의 기존 설치 기반을 보존하면서 네트워크 배포를 추가한다. 설치 도구 변경과 앱 구조 변경을 한 번에 강제하지 않는 방향으로 검토한다.
확정 요구사항
| 항목 | 내용 |
|---|---|
| 운영 환경 | Windows 데스크톱 프로그램 |
| 대상 소스 | D:\egbim\repo\14.1 |
| 기존 배포 | InstallShield .ism에서 생성한 EXE |
| 기존 설치 위치 | C:\Program Files\Baron 하위 |
| 설치 도구 | 향후 InstallShield 사용 중단 |
| 패키지 운영 | 버전별 관리 및 배포용 업로드 |
| 업데이트 | 현재 설치 버전에 맞는 변경분 패치와 전체 설치 경로 모두 지원 |
| 배포 순서 | 개발자 테스터 → 1차 테스터 → 2차 테스터 → 일반 사용자 |
| 추가 검토 | Microsoft Store 배포 |
네트워크 설치는 파일 전달 방식이고 MSI·EXE·MSIX는 설치 형식이다. 네트워크 설치에 MSI가 필수인 것은 아니다. 현재 프로젝트에 MSI를 권고하는 이유는 기존 MSI 제품과의 업그레이드 연속성이다.
저장소 확인 결과
| 항목 | 확인 내용 | 영향 |
|---|---|---|
| 설치 프로젝트 | InstallShield/src/EG-BIM_V1.13.1.ism |
새 설치 정의를 작성하기 위한 참고 자료 |
| 설치 엔진 | MSI Property·Directory·Upgrade 테이블과 사용자 지정 작업 존재 | 기존 제품 식별자를 활용한 전환 검토 가능 |
| 설치 범위 | ALLUSERS=1 |
PC 전체 설치, 적용 단계의 관리자 권한 필요 |
| 설치 경로 | ProgramFiles64Folder\Baron, 앱 하위 폴더 EG-BIM |
기본 실행 위치는 Baron\EG-BIM\Grimi.exe 구성 |
| 제품 버전 | .ism의 1.13.1.0, version.config의 1.13.1 |
엔진 버전 14.1과 제품 버전 분리 |
| 제품 식별자 | UpgradeCode {E6381427-A8BC-4506-A428-CE860BDA119F} |
과거 배포본에서도 일관적인지 확인 필요 |
| 앱 구성 | IntelliCAD 기반 네이티브 코드, .NET 8/WPF, C++/CLI 모듈 | 네이티브·관리형 런타임 및 플러그인 호환성 검증 |
| 선행 조건 | .NET 8 Desktop Runtime, VC++ 재배포 패키지, 웹 설치형 .NET Framework 등의 항목 등록 | 실제 필요한 런타임과 포함 조건을 정리해야 함 |
| 서비스 | 검토한 .ism의 ServiceInstall·ServiceControl 테이블은 비어 있음 |
다른 실행 파일이나 사용자 지정 작업의 서비스·드라이버 사용 여부는 별도 확인 |
.ism의 File 테이블은 4,701행, Registry 테이블은 379행이다. 이는 설치 정의의 규모이며 최종 설치되는 고유 파일 수나 현재 필요한 항목 수와 동일하다고 단정하지 않는다.
기존 업데이트와 설정 보존
Pet.Entry는 BaronSoftware.Update 2.0.0을 참조한다. 업데이트 옵션에는 제품 코드 E901, 표시 버전, 다운로드 폴더, 테스트 모드와 채널이 들어간다. 채널은 현재 로그인 사용자의 IsCenter()·IsFamily() 결과에 따라 Center, Family, External 중 하나를 선택한다.
새 4개 그룹을 이 값들과 자동으로 대응시키지 않는다. 기존 채널의 업무상 의미와 서버의 인증 방식을 확인한 뒤 매핑한다. 앱의 E901 코드와 MSI의 GUID ProductCode는 서로 다른 식별자다.
제품 버전은 호스트 실행 파일 Grimi.exe의 FILEVERSION에서 읽는다. 사용자 레지스트리와 CUI를 백업·복원하는 코드도 있으며, 엔진 버전에 종속된 일부 설정은 복원에서 제외한다. 오프라인 라이선스 사용자는 현재 진입 코드에서 자동 업데이트를 건너뛰므로 별도 배포 경로가 필요하다.
참고 파일
아래 경로는 모두 대상 소스 루트 D:\egbim\repo\14.1 기준이다.
InstallShield/src/EG-BIM_V1.13.1.ismInstallShield/src/Script Files/Setup.rulInstallShield/version.configInstallShield/관리지침.mdSource/Module/Pet.Entry/Pet.Entry.csprojSource/Module/Pet.Entry/Global.csSource/Module/Pet.Entry/Entry.csSource/Module/Pet.Entry/Services/UpdateService.csSource/Module/Pet.Entry/Services/UserDataBackup/UserDataLocalBackupService.csSource/Module/Nyng.Interop.Interface/Nyng.Interop.Interface.vcxprojCoWork/Export/IrxPackages/IrxInstaller/README.md