{"id":30663306,"url":"https://github.com/wanglanaaa/software-installer-assistant","last_synced_at":"2025-08-31T17:04:59.799Z","repository":{"id":307315305,"uuid":"1027946422","full_name":"wanglanaaa/Software-Installer-Assistant","owner":"wanglanaaa","description":"一个基于 C# 和 .NET WinForms 的 Windows 软件批量安装与管理工具，旨在简化新系统部署和日常软件安装流程。","archived":false,"fork":false,"pushed_at":"2025-07-30T16:53:34.000Z","size":267,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-30T17:09:42.303Z","etag":null,"topics":["automation-tools","csharp","dotnet","installer-automation","windows-desktop","winforms"],"latest_commit_sha":null,"homepage":"https://do1024.com/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wanglanaaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-07-28T19:21:00.000Z","updated_at":"2025-07-30T16:53:38.000Z","dependencies_parsed_at":"2025-07-30T17:10:50.978Z","dependency_job_id":"2158de7c-f304-4abb-bcd5-075f8dfb76cb","html_url":"https://github.com/wanglanaaa/Software-Installer-Assistant","commit_stats":null,"previous_names":["wanglanaaa/software-installer-assistant"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wanglanaaa/Software-Installer-Assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wanglanaaa%2FSoftware-Installer-Assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wanglanaaa%2FSoftware-Installer-Assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wanglanaaa%2FSoftware-Installer-Assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wanglanaaa%2FSoftware-Installer-Assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wanglanaaa","download_url":"https://codeload.github.com/wanglanaaa/Software-Installer-Assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wanglanaaa%2FSoftware-Installer-Assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273010994,"owners_count":25030369,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["automation-tools","csharp","dotnet","installer-automation","windows-desktop","winforms"],"created_at":"2025-08-31T17:04:50.784Z","updated_at":"2025-08-31T17:04:59.793Z","avatar_url":"https://github.com/wanglanaaa.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 软件安装助理 (Software Installer Assistant)\n\n![Mainform](https://github.com/wanglanaaa/Software-Installer-Assistant/blob/main/Mainform.png)\n\n## 项目简介\n\n“软件安装助理”是一个桌面应用程序，旨在帮助用户高效地管理和安装各类软件。它提供了一个直观的用户界面，允许用户对软件进行分类、管理安装方案，并支持智能化的静默安装。\n\n## ✨ 主要功能\n\n*   **软件分类管理**：用户可以创建、删除软件分类，方便地组织和查找软件。\n*   **软件信息管理**：支持添加、删除软件条目，并记录软件名称、版本、大小、描述、安装路径和静默安装参数等信息。\n*   **智能静默安装**：\n    *   程序内置了多种常见 EXE 安装包的静默参数（如 `/S`, `/VERYSILENT`, `/q` 等）。\n    *   在安装过程中，程序会智能尝试这些参数，并通过**窗口检测机制**判断静默安装是否成功。\n    *   如果成功，程序会询问用户确认，并将有效的静默参数**自动保存**到配置中，实现“一次学习，永久使用”。\n    *   **高质量数据持久化**：只有经过验证的、成功的静默安装配置才会被保存到 `software_list.json` 知识库中，确保数据的纯粹性和有效性。\n*   **按需加载界面**：程序启动时界面简洁，左侧树形列表默认为空，只显示用户当前会话中手动添加的软件，提高操作效率和专注度。\n*   **安装方案管理**：\n    *   **保存方案**：用户可以将当前选中的软件列表及其勾选状态保存为一个安装方案，方便日后快速加载。\n    *   **加载方案**：通过下拉框选择并自动加载已保存的安装方案，恢复软件的勾选状态。\n    *   **删除方案**：管理和删除不再需要的安装方案。\n*   **安装路径选择**：用户可以自定义软件的安装路径。\n*   **现代简约UI**：采用类似 Microsoft Edge 风格的简约用户界面，提供清晰、专业的视觉体验。\n\n## 🛠️ 技术栈\n\n*   **C#**：主要开发语言。\n*   **.NET 9.0**：应用程序框架。\n*   **Windows Forms**：用于构建桌面用户界面。\n*   **System.Text.Json**：用于方案和软件列表的序列化和反序列化。\n\n## 📂 项目结构\n\n项目采用分层结构，将不同的功能模块分离到独立的项目中，以实现高内聚、低耦合。\n\n*   `SoftwareInstaller.UI`：用户界面层，包含主窗体 `MainForm`。\n*   `SoftwareInstaller.Core`：核心业务逻辑层，负责管理软件数据、核心功能（如智能安装）和业务相关的管理（如方案管理）。\n*   `SoftwareInstaller.Models`：数据模型层，定义了如 `SoftwareItem` 等核心数据结构。\n*   `SoftwareInstaller.Utils`：通用工具层，提供最底层的、与具体业务无关的辅助功能，如文件元数据读取、进程调用、错误处理和窗口检测等。\n\n## 🚀 如何运行\n\n### 方式一：为普通用户 (推荐)\n\n1.  前往本项目的 [**Releases 页面**](https://github.com/wanglanaaa/Software-Installer-Assistant/releases)。\n2.  下载最新版本的 `.zip` 压缩包文件（例如 `Software.Installer.Assistant.vX.X.X.zip`）。\n3.  将压缩包解压到你希望的任意位置。\n4.  进入解压后的文件夹，找到并双击运行 `SoftwareInstaller.UI.exe` 即可启动程序。\n\n### 方式二：为开发者\n\n如果你希望自行编译或对代码进行修改，请遵循以下步骤：\n\n1.  **环境准备**：确保你已安装 [.NET 9.0 SDK](https://dotnet.microsoft.com/download/dotnet/9.0) 或更高版本。\n2.  **克隆仓库**：\n    ```bash\n    git clone https://github.com/wanglanaaa/Software-Installer-Assistant.git\n    cd Software-Installer-Assistant\n    ```\n3.  **运行程序**：\n    ```bash\n    dotnet run --project SoftwareInstaller.UI\n    ```\n\n## 📝 未来计划 (TODO)\n\n- [ ] 优化软件列表的加载机制，支持更丰富的元数据（例如，从文件读取更多信息）。\n- [ ] 提供更美观的自定义主题或皮肤功能。\n- [ ] 考虑集成更多安装包类型（如 MSI）的静默参数支持。\n\n## 🤝 贡献\n\n欢迎任何形式的贡献！如果您有任何建议或发现 Bug，请随时提交 Issue 或 Pull Request。\n\n## 📄 许可证\n\n[待定]","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwanglanaaa%2Fsoftware-installer-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwanglanaaa%2Fsoftware-installer-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwanglanaaa%2Fsoftware-installer-assistant/lists"}