From bf23722bd733a8a90f89edc14ed4c4cd31afd680 Mon Sep 17 00:00:00 2001 From: chiDT Date: Wed, 13 Aug 2025 01:01:39 +0900 Subject: [PATCH] Add comprehensive README.md documentation --- README.md | 109 ++++++++++++++++++++++++++++++++++++++++++++ UpdateInfoMaker.sln | 25 ++++++++++ 2 files changed, 134 insertions(+) create mode 100644 README.md create mode 100644 UpdateInfoMaker.sln diff --git a/README.md b/README.md new file mode 100644 index 0000000..17dcf8c --- /dev/null +++ b/README.md @@ -0,0 +1,109 @@ +# UpdateInfoMaker + +업데이트 정보를 관리하는 Windows Forms 애플리케이션입니다. INF 파일을 읽고, 편집하고, 생성할 수 있습니다. + +## 📋 프로젝트 개요 + +UpdateInfoMaker는 소프트웨어 업데이트를 위한 INF 파일을 생성하고 관리하는 도구입니다. 프로그램 버전 정보, 서버 URL, 실행 파일명, 그리고 업데이트할 파일 목록을 포함한 INF 파일을 쉽게 편집할 수 있습니다. + +## ✨ 주요 기능 + +- **INF 파일 읽기/쓰기**: 기존 INF 파일을 읽어서 편집하거나 새로운 INF 파일을 생성 +- **버전 정보 관리**: 업데이트 카운트와 날짜 정보 관리 +- **프로그램 정보 관리**: 서버 URL과 실행 파일명 설정 +- **파일 목록 자동 생성**: 지정된 폴더에서 exe, dll, xml, config 파일을 자동으로 검색하여 목록 생성 +- **파일 크기 표시**: 각 파일의 크기를 읽기 쉬운 형태로 표시 + +## 🏗️ 프로젝트 구조 + +``` +UpdateInfoMaker/ +├── Form1.cs # 메인 폼 및 비즈니스 로직 +├── Form1.Designer.cs # UI 디자인 코드 +├── Form1.resx # 폼 리소스 +├── Program.cs # 프로그램 진입점 +├── Properties/ # 프로젝트 속성 +│ ├── AssemblyInfo.cs # 어셈블리 정보 +│ ├── Resources.Designer.cs # 리소스 관리 +│ ├── Resources.resx # 리소스 파일 +│ ├── Settings.Designer.cs # 설정 관리 +│ └── Settings.settings # 설정 파일 +└── Update.ini # 샘플 INI 파일 +``` + +## 🚀 사용 방법 + +### 1. INF 파일 읽기 +- "읽기" 버튼을 클릭하여 기존 INF 파일을 선택 +- 파일 내용이 UI에 자동으로 로드됩니다 + +### 2. 버전 정보 편집 +- **Count**: 업데이트 버전 번호 입력 +- **Date**: 업데이트 날짜 입력 + +### 3. 프로그램 정보 편집 +- **Server URL**: 업데이트 서버 주소 입력 +- **Exe File Name**: 실행 파일명 입력 + +### 4. 파일 목록 업데이트 +- "파일목록 업데이트" 버튼을 클릭하여 지정된 폴더의 파일들을 자동으로 검색 +- exe, dll, xml, config 파일만 포함됩니다 + +### 5. INF 파일 저장 +- "쓰기" 버튼을 클릭하여 편집된 내용을 새로운 INF 파일로 저장 + +## 📁 INF 파일 구조 + +생성되는 INF 파일은 다음과 같은 구조를 가집니다: + +```ini +[Version] +count=1 +date=2024-01-01 + +[program_info] +server_url=http://example.com/update +exe=MyApp.exe + +[files] +Files=3 +\MyApp.exe +\MyApp.dll +\config.xml +[NoteEndLine] +``` + +## 🛠️ 개발 환경 + +- **언어**: C# (.NET Framework) +- **플랫폼**: Windows Forms +- **IDE**: Visual Studio +- **대상 프레임워크**: .NET Framework 4.x + +## 📝 주요 클래스 및 메서드 + +### Form1 클래스 +- `ReadIniFile()`: INF 파일을 읽어서 파싱 +- `WriteIniFile()`: 편집된 데이터를 INF 파일로 저장 +- `UpdateFileList()`: 지정된 폴더에서 파일 목록 생성 +- `UpdateUIFromIniData()`: INI 데이터를 UI에 반영 +- `UpdateIniDataFromUI()`: UI 데이터를 INI 데이터에 반영 + +## 🔧 빌드 및 실행 + +1. Visual Studio에서 솔루션 파일을 열기 +2. NuGet 패키지 복원 (필요한 경우) +3. F5 키를 눌러 디버그 모드로 실행 또는 Ctrl+F5로 릴리즈 모드로 실행 + +## 📄 라이선스 + +이 프로젝트는 내부 사용을 위한 도구입니다. + +## 🤝 기여 + +프로젝트 개선을 위한 제안이나 버그 리포트는 언제든 환영합니다. + +--- + +**개발자**: GLORIA 팀 +**최종 업데이트**: 2024년 diff --git a/UpdateInfoMaker.sln b/UpdateInfoMaker.sln new file mode 100644 index 0000000..ba15378 --- /dev/null +++ b/UpdateInfoMaker.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35919.96 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UpdateInfoMaker", "UpdateInfoMaker\UpdateInfoMaker.csproj", "{5C3FB269-50C5-426E-8AA2-64C4F1DED873}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5C3FB269-50C5-426E-8AA2-64C4F1DED873}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5C3FB269-50C5-426E-8AA2-64C4F1DED873}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5C3FB269-50C5-426E-8AA2-64C4F1DED873}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5C3FB269-50C5-426E-8AA2-64C4F1DED873}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1F7751B8-C2F7-42D9-A57C-632E49D09F47} + EndGlobalSection +EndGlobal