# 요구사항과 기존 프로그램 현황 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.ism` - `InstallShield/src/Script Files/Setup.rul` - `InstallShield/version.config` - `InstallShield/관리지침.md` - `Source/Module/Pet.Entry/Pet.Entry.csproj` - `Source/Module/Pet.Entry/Global.cs` - `Source/Module/Pet.Entry/Entry.cs` - `Source/Module/Pet.Entry/Services/UpdateService.cs` - `Source/Module/Pet.Entry/Services/UserDataBackup/UserDataLocalBackupService.cs` - `Source/Module/Nyng.Interop.Interface/Nyng.Interop.Interface.vcxproj` - `CoWork/Export/IrxPackages/IrxInstaller/README.md`