Skip to content

Repository files navigation

🖥️ 软件管家 SoftwareManager

Windows 桌面软件升级管理工具 — 自动发现可升级软件、批量升级、32→64 位架构升级、C 盘瘦身与软件迁移

English | 简体中文

Windows Release Tauri .NET React TypeScript License


✨ 功能特性

功能 说明
🔍 软件扫描 通过 winget 权威扫描已安装软件,检测可升级项
升级队列 批量升级,实时进度、分步日志、失败自动重试
🎯 32→64 位升级 一键架构升级,多层安全护栏防止软件丢失
📐 位数检测 读取安装目录 exe 的 PE 头判断真实位数,杜绝误判
💾 安装路径控制 自动将安装路径中的 C 盘替换为其他盘(如 C:\WXWork → D:\WXWork
🧹 C 盘瘦身 安全清理临时文件、安装包缓存、升级残留;删除前移入回收站
📦 C 盘迁移 将 C 盘软件卸载后重装到其他盘,自动检测目标盘
♻️ 恢复安装 升级中断(卸载成功但安装失败)自动记录,一键重装
🌐 官网检测 winget 无新版时,从官网检测版本并下载安装包
🔄 自更新 通过 GitHub Releases 自动检查、下载并安装新版本
🎨 主题外观 浅色 / 深色 / 跟随系统,多检测源开关

📸 界面预览

界面截图即将补充

软件列表 升级队列 C 盘瘦身
扫描 / 筛选 / 批量升级 实时进度与日志 分类清理与风险提示

🚀 快速开始

方式一:直接下载

GitHub Releases 下载最新的 *-setup.exe 安装包,双击安装即可使用。已安装用户可在 设置 → 关于与更新 → 检查更新 自动升级。

方式二:从源码构建

环境要求

开发运行

npm install

# 编译并发布 C# Agent(生成 src-tauri/resources/SoftwareManager.Agent.exe)
cd agent/SoftwareManager.Agent && dotnet build
cd ../..

# 启动 Tauri 开发环境
npm run tauri dev

生产构建

# 默认生成 NSIS 安装包
.\scripts\build.ps1

# 生成 MSI / 免安装版 / 全部
.\scripts\build.ps1 -Target msi
.\scripts\build.ps1 -Target portable
.\scripts\build.ps1 -Target all

🏗️ 技术架构

┌────────────────────────────────────────────────────────────┐
│                     前端 (Tauri 2)                          │
│   React 18 · TypeScript · Tailwind CSS · Zustand · Vite    │
└──────────────────────────┬─────────────────────────────────┘
                           │ IPC (stdin/stdout JSON)
┌──────────────────────────▼─────────────────────────────────┐
│                    Rust 命令层 (commands.rs)                │
│         Tauri 命令封装 · Sidecar 进程管理 · 事件转发         │
└──────────────────────────┬─────────────────────────────────┘
                           │ IPC (JSON 行协议)
┌──────────────────────────▼─────────────────────────────────┐
│                C# Sidecar Agent (.NET 8)                    │
│  ┌────────────┬────────────┬─────────────┬──────────────┐  │
│  │ ScanService│ VersionCheck│UpgradeQueue │ CDriveScan   │  │
│  ├────────────┼────────────┼─────────────┼──────────────┤  │
│  │DiskClean    │SelfUpdate  │  Settings   │  Recovery    │  │
│  └────────────┴────────────┴─────────────┴──────────────┘  │
│  SQLite (EF Core) · Serilog 日志 · winget CLI · 官网检测    │
└──────────────────────────┬─────────────────────────────────┘
                           │
                ┌──────────▼──────────┐
                │  winget · 注册表 · 官网│
                └─────────────────────┘

📁 项目结构

SoftwareManager/
├── src/                          # 前端(React + Tailwind)
│   ├── pages/                    # 页面(软件列表 / 升级队列 / C盘瘦身等)
│   ├── components/               # 组件
│   ├── stores/                   # Zustand 状态管理
│   └── lib/                      # 工具与更新配置
├── src-tauri/                    # Tauri 壳(Rust)
│   └── src/                      # commands.rs / sidecar.rs / lib.rs
├── agent/                        # C# Sidecar Agent (.NET 8)
│   ├── SoftwareManager.Agent/    # 主程序(IPC / Providers / Services)
│   ├── SoftwareManager.Agent.Data/  # EF Core 数据层
│   └── SoftwareManager.Agent.Tests/ # 单元测试
└── scripts/                      # 构建脚本

🔄 发布与更新

  1. 更新 package.jsonsrc-tauri/tauri.conf.json 中的版本号
  2. 运行 .\scripts\build.ps1 生成安装包
  3. 创建 GitHub Release,上传 *-setup.exe
  4. 用户端 设置 → 关于与更新 → 检查更新 自动发现并升级

📝 许可证

本项目基于 MIT License 开源发布。

About

软件管家

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages