{"id":25293512,"url":"https://github.com/yuseok-kim-edushare/program-updater-for-windows","last_synced_at":"2025-04-06T19:20:36.948Z","repository":{"id":275712747,"uuid":"926940350","full_name":"yuseok-kim-edushare/Program-Updater-for-Windows","owner":"yuseok-kim-edushare","description":"A lightweight, open-source program updater for Windows applications built with .NET Framework 4.8. This updater provides a modern UI with progress tracking and supports automatic updates for multiple files with hash verification.","archived":false,"fork":false,"pushed_at":"2025-03-12T09:50:42.000Z","size":2864,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T10:36:57.020Z","etag":null,"topics":["netframework48","updater","windows-forms"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yuseok-kim-edushare.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-04T05:49:34.000Z","updated_at":"2025-03-12T09:44:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"894119c2-9134-431c-9d8a-2e952f58d174","html_url":"https://github.com/yuseok-kim-edushare/Program-Updater-for-Windows","commit_stats":null,"previous_names":["yuseok-kim-edushare/program-updater-for-windows"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuseok-kim-edushare%2FProgram-Updater-for-Windows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuseok-kim-edushare%2FProgram-Updater-for-Windows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuseok-kim-edushare%2FProgram-Updater-for-Windows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuseok-kim-edushare%2FProgram-Updater-for-Windows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuseok-kim-edushare","download_url":"https://codeload.github.com/yuseok-kim-edushare/Program-Updater-for-Windows/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247535886,"owners_count":20954642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["netframework48","updater","windows-forms"],"created_at":"2025-02-13T01:37:17.951Z","updated_at":"2025-04-06T19:20:36.931Z","avatar_url":"https://github.com/yuseok-kim-edushare.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Program Updater for Windows\n\nA lightweight, open-source program updater for Windows applications built with .NET Framework 4.8. This updater provides a modern UI with progress tracking and supports automatic updates for multiple files with hash verification.\n\n## Features\n\n- Modern Windows Forms UI with progress tracking\n- XML-based settings configuration\n- JSON-based update configuration\n- Secure file verification using SHA256 hashes\n- Automatic backup of existing files\n- Process management (stops running programs before update)\n- Detailed logging with color-coded messages\n- Cancellation support\n- Error handling and rollback capabilities\n\n## Requirements\n\n- Windows 10 20H2 or Later (server 2022 or later)\n  - .NET Framework 4.8.1\n- Not Ensured, but it should work with .NET 4.8 and windows 7 or later\n  - MS introduce no comapatibility change from .NET 4.8 to .NET 4.8.1\n    - then, it should work with .NET 4.8 and windows 7 or later\n- (For Development) Visual Studio 2022+\n  - or .NET 8+ SDK for using dotnet build command\n\n## Building the Project\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/YOUR_USERNAME/Program_updater_for_win.git\n```\n\n2. Open the solution in Visual Studio or your preferred IDE\n\n3. Build the solution:\n```bash\ndotnet build --configuration Admin\ndotnet build --configuration NonAdmin\n```\n- If you need to exe requires admin privileges, you need to build the project with the Admin configuration.\n  - like update program in C:\\Program Files\\YourApp\\\n- If you need to exe does not require admin privileges, you need to build the project with the NonAdmin configuration.\n  - like update program in C:\\Users\\YourName\\AppData\\Local\\YourApp\\\n\n## Configuration\n\n### Settings Configuration (settings.xml)\n\nCreate a `settings.xml` file in the same directory as the executable to customize the updater's behavior:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\" ?\u003e\n\u003cSettings\u003e\n  \u003cUI\u003e\n    \u003cWindowTitle\u003eProgram Updater\u003c/WindowTitle\u003e\n    \u003cTitleText\u003eProgram Update in Progress\u003c/TitleText\u003e\n  \u003c/UI\u003e\n  \u003cConfiguration\u003e\n    \u003cConfigurationFilePath\u003ehttps://raw.githubusercontent.com/your-username/your-repo/main/update_config.json\u003c/ConfigurationFilePath\u003e\n  \u003c/Configuration\u003e\n\u003c/Settings\u003e\n```\n\nThe settings.xml file allows you to:\n- Customize the window title and update message\n- Specify the update configuration file location (supports local files, HTTP, HTTPS, FTP, or FTPS)\n\nFor the ConfigurationFilePath, you can use any of these formats:\n- Local file path: `C:\\path\\to\\update_config.json`\n- File protocol: `file:///C:/path/to/update_config.json`\n- HTTP/HTTPS: `https://your-server.com/update_config.json`\n- FTP/FTPS: `ftp://your-server.com/update_config.json`\n\n### Update Configuration (JSON)\n\nCreate a configuration file (update_config.json) with your update details:\n```json\n{\n    \"files\": [\n        {\n            \"name\": \"MainApplication\",\n            \"isExecutable\": true,\n            \"currentPath\": \"C:\\\\Program Files\\\\YourApp\\\\app.exe\",\n            \"newPath\": \"C:\\\\Program Files\\\\YourApp\\\\app_new.exe\",\n            \"backupPath\": \"C:\\\\Program Files\\\\YourApp\\\\Backup\\\\app.exe\",\n            \"downloadUrl\": \"http://your-server.com/updates/app.exe\",\n            \"expectedHash\": \"SHA256_HASH_OF_NEW_FILE\"\n        }\n    ]\n}\n```\n\nThe configuration file can be hosted:\n- Locally on your machine\n- On a web server via HTTP/HTTPS\n- On an FTP server:\n  ```\n  ftp://your-server.com/path/to/update_config.json\n  or\n  ftp://username:password@your-server.com/updates/app.exe\n  ```\n\nTo get file hash from Windows PowerShell:\n```PowerShell\nGet-FileHash -Path \"C:\\Program Files\\YourApp\\app.exe\" -Algorithm SHA256\n```\n\n### Config Manager\n\nThe Config Manager is a Windows Forms application that allows you to manage the update configuration file.\n\nDetailed information about the Config Manager is available in the [ConfigManager/README.md](ConfigManager/README.md) file.\n\n## Usage\n\n1. Run the updater:\n```bash\nupdater.exe\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built with .NET Framework 4.8.1\n- Uses Newtonsoft.Json for JSON parsing\n- Inspired by the need for a lightweight, open-source program updater\n\n## Disclaimer\n\nThis software is provided \"as is\" without warranty of any kind. Use at your own risk. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuseok-kim-edushare%2Fprogram-updater-for-windows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuseok-kim-edushare%2Fprogram-updater-for-windows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuseok-kim-edushare%2Fprogram-updater-for-windows/lists"}