viap是一款 Windows 应用管理、数据迁移工具,它可以将 C 盘应用无损迁移到其他磁盘,释放系统空间,保持应用正常运行。

功能特性
自动更新
应用启动后自动检查新版本,发现更新后一键下载安装:
自动检测:启动 3 秒后静默检查,有新版本时通知栏提示
手动检查:设置页点击「检测更新」按钮,结果即时反馈
下载进度:横幅实时显示百分比进度条,可随时取消下载
安全取消:取消下载后立即中止后台流程,不会意外重启应用
自动检查失败不影响正常使用,无弹窗打扰
启动体验
首帧后显示窗口:Tauri 主窗口默认隐藏,前端首帧挂载后再显示,避免 WebView 初始化期间暴露白屏
页面按需挂载:启动时仅挂载应用管理页,数据迁移、迁移记录和设置页在首次访问时再初始化,降低低配设备首屏压力
背景兜底:根节点提前应用主题背景色,减少窗口显示前后的纯白闪烁
外观设置
字体大小:设置页「外观 → 字体大小」支持 12-16px 自定义调整,并提供标准、适中、较大快捷档位
全局生效:应用管理、数据迁移、迁移记录和设置页会统一跟随字号设置,列表行高也会随字号轻微调整,避免高分辨率屏幕文字过小
流式应用扫描
应用列表采用流式加载架构,告别”等待全部扫描完成才能看到结果”:
三级扫描引擎:Tier 1 注册表(~85% 命中,<200ms)→ Tier 2 LNK 快捷方式(~10%)→ Tier 3 文件系统扫描(~5%)
应用快照秒开:扫描完成后写入 {data_dir}/cache/app_snapshot.json,下次进入应用管理页先推送 snapshot 阶段,立即显示上次列表,再由后台扫描校验刷新
流式推送:每个扫描阶段完成后立即通过 scan-progress 事件推送到前端,Tier 1 完成即可显示首批应用
图标懒加载:应用项只携带 http://viap-icon.localhost/<hex> URL,前端 <img> 按需请求真实 PNG;后端协议处理器命中图标磁盘缓存或即时提取,避免 Base64 批量 IPC
大小后台计算 + 持久化缓存:SWR 策略,启动时秒发缓存值,后台异步重算;冷启动/机械硬盘场景大幅提速
appStore 模块级单例:应用列表缓存在模块作用域内,Tab 切换零 IPC 恢复,不重新扫描
搜索/筛选保持:搜索关键词和筛选条件跨 Tab 保持,用户无感知
列头排序:点击「名称」或「大小」列头,按拼音/体积升序降序排列,纯本地排序,刷新后重置
扫描耗时开关:设置页「其他设置 → 显示扫描耗时」可控制应用管理页左侧定位调试浮层,通过 scan-performance 事件展示 snapshot、registry、shortcuts、filesystem、icons 和 sizes 阶段耗时;折叠后仅保留小图标,手动刷新也会重新生成本次耗时,便于用户反馈时截图定位慢阶段
快照校验提示:冷启动命中持久化快照时,页面先显示快照列表,再用小提示反馈后台全量校验状态;当扫描结果与快照不一致时会提示列表已更新
应用图标提取
Viap 使用 Windows Win32 API 提取应用的真实图标:
ExtractIconExW – 从 EXE/DLL 文件中提取图标
GetIconInfo / GetDIBits – 将图标转换为位图数据
两级缓存 – 内存缓存(进程内命中)+ 磁盘缓存(跨重启命中),自动失效
自定义协议 – viap-icon 协议直接返回 PNG 字节,前端优先使用 icon_url,仅兼容旧数据时回退 icon_base64
微软商店应用
微软商店应用(Microsoft Store / UWP / MSIX)通常位于 C:\Program Files\WindowsApps,由 Windows 包部署、权限、签名和更新机制统一管理。Viap 不建议也不作为可迁移应用处理此类目录;部分商店应用会在 Windows 设置中提供「移动」按钮,也可通过存储设置调整新应用默认保存位置,应优先使用 Windows 提供的迁移方式。
多磁盘显示
首页顶部显示所有本地磁盘的使用情况:
支持横向滚动,适配多分区用户
系统盘(C:)优先显示并高亮
根据使用率显示不同颜色(绿色 < 70% < 黄色 < 90% < 红色)
批量迁移
支持多选应用一键批量迁移:
每行 hover 显示复选框,顶部「全选未迁移」快捷操作
选中后显示浮动「批量迁移 (N)」按钮
选择统一目标目录后按序自动执行,单应用迁移失败不影响后续
完成后汇总通知(成功/失败数量)
还原 Loading 反馈
点击已迁移应用的「还原」按钮时:
按钮立即切换为 loading 态(spinner + “还原中”)
还原完成/失败后自动恢复,配合 Toast 通知结果
数据迁移
支持迁移系统文件夹、应用数据和自定义文件夹:
系统文件夹:
桌面 (Desktop)、文档 (Documents)、下载 (Downloads)、图片 (Pictures)、视频 (Videos)
应用数据(动态检测路径,含注册表/配置文件回退):
微信 / 企业微信 / QQ / 钉钉 / 飞书(含 6 个候选路径)
Chrome 缓存 / Edge 缓存 / VS Code 扩展 / npm 全局包
迁移特性(与应用管理页一致):
进度弹窗 — 复用 MigrationModal,扫描阶段持续显示已扫描文件数/体积,复制阶段显示已复制体积和百分比
扫描计划复用 — 迁移前扫描一次生成复制计划,同时用于空间检查和复制执行,避免空间统计与复制列表各扫一遍磁盘
恢复进度可见 — 应用管理、数据迁移、迁移记录的恢复/还原按钮会显示后端推送的百分比
安全取消 — 迁移进行中可取消,后端自动回滚已复制文件;关闭弹窗需二次确认
批量迁移 — 支持全选/多选文件夹,一键批量迁移到统一目标目录,按序执行,失败不影响后续
异步非阻塞 — migrate_large_folder 改为主线程 async + spawn_blocking,返回 MigrationResult,行为与 migrate_app 一致
进程占用检查 — 迁移前检测关联进程,非系统文件夹被占用时提示关闭,系统文件夹允许强制继续
系统文件夹风险提示 — 风险确认弹窗(RiskConfirmModal)仅在系统文件夹迁移前显示,非系统文件夹直接启动
安全特性:
系统文件夹迁移前显示风险警告
自动检测进程占用,提示关闭相关应用
支持一键恢复到原位置
迁移进度实时可见,可随时安全取消
大小始终推送事件(即使为 0),避免前端永久显示 “–”
强力卸载与数字残留扫描
Viap 的强力卸载对标 Geek Uninstaller 等专业工具,提供完整的卸载 → 残留扫描 → 安全清理链路:
卸载命令执行:
预览卸载命令(preview_uninstall),在确认对话框中展示
四层命令解析回退:registry_path → DisplayName 匹配 → InstallLocation 匹配 → 文件系统扫描(含 “unin”/”uninstall”/”卸载”)
三级回退执行策略:直接 exe → cmd /C → start /wait
自动检测权限不足 → PowerShell Start-Process -Verb RunAs 提权重试
静默参数追加(/S /silent /verysilent /qn /quiet)
轮询注册表 + 文件系统确认卸载完成(含 Inno Setup fork 延迟适配)
强制删除(Force Remove):
当应用卸载程序损坏/缺失时,自动提供强制删除选项
直接删除安装目录(三级回退:直接删 → 清除只读 → takeown + icacls)
清理注册表 Uninstall 键
残留扫描(三路并行):
文件系统扫描:AppData / LocalAppData / ProgramData / 安装路径,深度 5
Uninstall 注册表扫描:HKLM + HKCU × 3 路径
发布商路径扫描:Software\ × 4 路径(HKLM/HKCU × 普通/WOW6432Node)
文件关联扫描:Software\Classes\Applications\ × 2 路径
扫描时机修正:卸载完成后才触发,适配便携/绿色软件的安装检测
残留清理弹窗:
紧凑设计(640px 宽),可滚动列表,所有项目默认选中
类型标签 + 路径 + 大小在一行内展示
AlertTriangle 警告图标提示不可恢复
安全清理:
系统目录黑名单(Windows、System32 等)
注册表安全校验(拒绝 Microsoft/Windows、要求 ≥3 级路径)
批量选中 + 一键清理,按体积降序排列
设置持久化
用户设置保存在 localStorage 中:
默认应用迁移目录 — defaultAppTargetPath:应用管理页迁移时优先使用此路径
默认数据迁移目录 — defaultDataTargetPath:数据管理页迁移时优先使用此路径
两个默认路径均会校验是否为 C 盘(C 盘路径视为无效,强制引导重新选择)
删除文件移入回收站(可关闭,关闭后直接彻底删除)
数据存储目录自定义(支持迁移到自定义路径,自动复制历史数据)
旧版 defaultTargetPath 配置自动升迁为 defaultAppTargetPath
迁移目录选择流程
迁移操作时统一遵循以下约定,确保用户始终明确目标位置:
如已设置非 C 盘默认目标 → 弹出确认框:使用默认位置 或 自定义目录
如未设置或为 C 盘路径 → 弹出引导框:前往设置(跳转设置页)或 自定义目录
选择「自定义目录」后调用系统文件夹选择器
应用管理和数据管理使用独立的默认路径配置
迁移历史与数据管理
迁移历史记录保存在 %APPDATA%/viap/migration_history.json:
原子写入:先写入临时文件 (.json.tmp),再重命名覆盖目标文件,防止断电/崩溃导致数据损坏
自动备份:每次保存前自动备份上一版本到 .json.bak
搜索/筛选/排序:支持按名称搜索、按类型(应用/文件夹)筛选、按时间/名称/大小排序
分页显示:每页 20 条记录,底部页码控件
链接健康检查:并发检查(最多 5 路)+ localStorage 缓存(TTL 5 分钟),区分”可修复(数据完整,橙色)”和”严重损坏(数据丢失,红色)”两种异常状态
记录详情面板:点击行展开完整路径、精确时间、记录 ID、链接状态等详细信息
还原前空间检查:通过 sysinfo 检查目标盘可用空间(需 ≥ 1.1× 文件大小),空间不足时拒绝操作,保证 Junction 不被提前删除
恢复前进程占用检测:必须在删除 Junction 前检测进程占用,提前拒绝恢复操作,防止 move_dir 中途失败导致数据分裂
迁移/恢复回滚保护:迁移复制阶段遇到遍历、元数据、写入或校验错误会中止并清理目标副本;删除源目录前会先创建临时链接预检,预检失败时源目录保持不动;恢复阶段先复制回原路径并校验,成功后再清理目标副本,失败时保留目标完整数据并尝试恢复目录链接
普通目录保护:区分”上次恢复未完成(target 存在,可修复)”和”数据已恢复(target 不存在)”两种场景,给出具体修复步骤
恢复并发保护:同时恢复多个项目时自动排队,防止互相干扰
大文件夹恢复统一入口:通过 restore_app 按 record_type 自动分发,确保 history 记录状态正确更新
迁移覆盖保护:目标目录有残留时弹窗确认后自动清理;检测到原路径仍是链接时拒绝覆盖,防止误删数据
幽灵链接清理:两步操作 — 先扫描预览(只读)→ 确认后执行清除;可检测三种异常:目标数据丢失、链接断裂、原路径消失
历史导出/导入:支持导出到指定目录备份,从备份文件导入合并(按 ID 去重)
版本字段:支持未来格式升级的平滑迁移
更新日志
v1.1.4
小修复与体验优化
错误 Toast 默认停留 8 秒,长错误信息更容易读完
Toast 鼠标悬停时暂停自动关闭,移开后继续倒计时
Toast 支持多行和长路径自动换行
修复目标目录冲突时可能显示内部状态码的问题
迁移相关内部错误统一转换为中文提示
数据迁移新增 Gradle、Maven、npm/Yarn、Cargo/Rustup、pip/uv、NuGet、Claude Code、Codex 等开发者目录识别
设置页关于区域新增更新日志入口
开源地址:https://github.com/Chunyu33/viap
下载地址
夸克网盘:https://pan.quark.cn/s/2597565f1767
迅雷云盘:https://pan.xunlei.com/s/VOw1wZaiwrrOfZkqKDqhbeQEA1?pwd=p9s5
百度网盘:https://pan.baidu.com/s/1zFdTwHb93cDm-yJ3wuXioQ?pwd=sdhf

瑞泽小站








![【不忘初心】Windows10 22H2 (19045.7417) X64 无更新[纯净精简版][2.55G](2026.6.12)-瑞泽小站](https://www.ruize66.com/wp-content/uploads/2025/06/49f30045069963a-220x150.jpg)

![【不忘初心游戏版】[太阳谷] Windows10 22H2(19045.7417) X64 无更新[精简版][3.11G](2026.6.12)-瑞泽小站](https://www.ruize66.com/wp-content/uploads/2025/06/b028f143a08380c-220x150.jpg)



