This commit is contained in:
parent
bec00d9a63
commit
2e9bf283ef
|
|
@ -472,21 +472,58 @@ class AutoUpdater:
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 10.6 업데이트 설치流程
|
### 10.6 아키텍처: updater.exe 분리 ⭐ 중요
|
||||||
|
|
||||||
|
**구조**:
|
||||||
```
|
```
|
||||||
temp 폴더에 다운로드
|
메인 프로젝트 (cx_freeze 패킹)
|
||||||
├── 예: temp/voc_monitor_3.1.0.exe
|
├── updater.exe (별도 패킹, 최소 GUI 포함)
|
||||||
├── 배치 파일 생성 (업데이트 스크립트)
|
├── app/
|
||||||
│ @echo off
|
│ └── updater/
|
||||||
│ timeout /t 2 /nobreak > nul
|
│ ├── __init__.py
|
||||||
│ xcopy /y "voc_monitor_3.1.0.exe" "원본 폴더/"
|
│ ├── __version__.py # 버전 정보
|
||||||
│ start "" "voc_monitor.exe"
|
│ ├── update_manager.py # 메인 프로그램용 업데이트 관리자
|
||||||
│ del "voc_monitor_3.1.0.exe"
|
│ ├── updater_gui.py # updater.exe용 GUI
|
||||||
│ del "%~f0"
|
│ └── updatelog.md # 업데이트 로그
|
||||||
└── 배치 파일 실행 후 현재 프로세스 종료
|
└── ...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**실행 흐름**:
|
||||||
|
```
|
||||||
|
1. update_manager.py (메인 프로그램 내):
|
||||||
|
├── Supabase에서 새 버전 확인
|
||||||
|
├── 업데이트 config.json 생성 (%TEMP%/voc_updater_config.json)
|
||||||
|
│ {
|
||||||
|
│ "download_url": "https://supabase.../voc_noti_3.2.0.zip",
|
||||||
|
│ "target_path": "C:/Program Files/voc_noti",
|
||||||
|
│ "version": "3.2.0",
|
||||||
|
│ "restart_exe": "voc_noti.exe"
|
||||||
|
│ }
|
||||||
|
├── updater.exe를 %TEMP%로 복사
|
||||||
|
└── updater.exe 실행 후 메인 프로그램 종료
|
||||||
|
|
||||||
|
2. updater.exe (별도 프로세스):
|
||||||
|
├── config.json 읽기
|
||||||
|
├── zip 다운로드 (진행률 표시 - CustomTkinter GUI)
|
||||||
|
├── 압축 해제 → 파일 교체
|
||||||
|
└── 메인 프로그램 재실행
|
||||||
|
```
|
||||||
|
|
||||||
|
**updater.exe UI**:
|
||||||
|
- CustomTkinter 기반 최소 GUI 창
|
||||||
|
- 다운로드 진행률 표시 (Progress Bar)
|
||||||
|
- 상태 메시지 표시 (다운로드 중, 압축 해제 중, 완료)
|
||||||
|
- 성공/실패 결과 표시
|
||||||
|
|
||||||
|
**파일 교체 방식**:
|
||||||
|
- **전체 교체**: zip 다운로드 후 압축 해제
|
||||||
|
- 백업 폴더 생성 (이전 버전 보존)
|
||||||
|
- 실패 시 롤백 가능
|
||||||
|
|
||||||
|
**통신 방식**:
|
||||||
|
- 임시 JSON 파일 (`%TEMP%/voc_updater_config.json`)
|
||||||
|
- 메인 프로그램이 파일 생성 → updater.exe가 읽기
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 10.7 예외 케이스 처리
|
### 10.7 예외 케이스 처리
|
||||||
|
|
@ -545,10 +582,9 @@ updater = AutoUpdater(
|
||||||
- [ ] 통계 대시보드
|
- [ ] 통계 대시보드
|
||||||
- [ ] 엑셀 내보내기
|
- [ ] 엑셀 내보내기
|
||||||
- [ ] 자동 응답 템플릿
|
- [ ] 자동 응답 템플릿
|
||||||
- [ ] 자동 업데이트 시스템
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
작성자: KH.Choi
|
작성자: KH.Choi
|
||||||
최종 수정: 2026-02-18
|
최종 수정: 2026-02-18
|
||||||
버전: 3.1
|
버전: 3.2
|
||||||
Loading…
Reference in New Issue