Repository navigation
Releases: wrdqtww/dsh-Uninstall
Releases · wrdqtww/dsh-Uninstall
Release list
v1.5.0
v1.5
相比 v1.5.0-beta1:
- 仓库根目录只保留最新版;老版本源码归档到 back/<版本名称>/ 目录。
- 卸载器内部版本号统一为 1.5,构建脚本 -Version 校验一致。
- 计划任务删除与残留扫描使用同一套名称匹配规则,避免漏删/漏报。
- 附加目录清理改用全量变体列表(不再受单一识别结果收窄)。
- 变体识别遍历所有检测到的运行目录,合并标签。
- 其他用户 DSH 主目录必须同时通过命名与安全校验才删除。
- dsh-edge-app 快捷方式判定收紧:dsh-edge-app 与 launcher.vbs 必须同时出现。
- 自定义 DSH_HOME 仅删除已知 DSH 子目录/文件,未知内容一律跳过。
资产:Uninstall_DSH_Desktop.exe(单文件,依赖 .NET Framework 4.x + 系统自带组件)。Source code zip/tar.gz 由 GitHub 自动生成。
v1.5.0-beta1
v1.5.0-beta1
预发布版本。强化证据校验与进程缓存:
- /InstallDir 增加 Authenticode 强证据校验
- DSH_RUNTIME 采用 2-of-3 证据判定
- PATH / 注册表 / 进程清理绑定已检测安装目录
- 批量 WMI 进程查询 + ConcurrentDictionary 缓存
- 静默模式提权失败不弹窗
- /DryRun 输出 JSON 报告
资产:Uninstall_DSH_Desktop.exe(单文件,依赖 .NET Framework 4.x)。Source code zip/tar.gz 由 GitHub 自动生成。
v1.4
v1.4
与 v1.2.5 对比,本版主要做运行识别与新版桌面端适配:
- 适配新版 Tauri 桌面端:myYangyunfan/dsh_desktop 新版进程/exe 为
dsh-tauri-app.exe(productName 仍为 DSH Desktop,appId 仍为com.deepseek.dsh.desktop),程序识别模式现在可以找到正在运行的新版。 - 补齐 Tauri 数据目录:
com.deepseek.dsh.desktop、com.dshdesktop.desktop、ai.deepseek.harness.desk、dev.dsh.client加入 Roaming / LocalAppData 清理名单;识别到具体仓库后同样覆盖这些 identifier 目录。 - 用户数据判定增强:新增
window-state.json、single-instance.lock、profile-patch-heal-cache.json标记;EBWebView目录单独命中即视为 DSH 数据,修复新版 Tauri 数据目录被跳过的问题。 - 其他仓库新旧版核对:重新扫描 18 个第三方/官方仓库最新 main/master 的 package.json / electron-builder.yml / tauri.conf.json / Cargo.toml;majiayu000/dsh-desk 新版二进制
dsh-desk.exe已加入;LBurnydshdesktop.exe、hastings0714dsh-client.exe均已覆盖。 - 构建脚本:standalone 仓库 build-uninstaller.ps1 补上
System.Web.Extensions.dll引用。
产物:Uninstall_DSH_Desktop.exe(单文件,仅依赖 .NET Framework 4.x);源码 zip/tar.gz 由 GitHub 自动生成。
v1.2.5
v1.2.5
代码复查修复版(2026-08-21)。
修复内容
- 主流程异常现在弹窗提示错误并显示日志路径(此前 winexe 下 Console 输出不可见)。
- /InstallDir 与运行检测分支现在正确更新 VariantProfileApplied 状态。
- 变体标签去重大小写不敏感,避免重复显示。
- 保留勾选窗口增加 AutoScroll,检测到多个变体时小屏也可滚动。
- 修正产品名令牌(字节级验证:错误令牌 0 处,正确令牌 3 处)。
- 版本字段缩进规范化。
产物
- Uninstall_DSH_Desktop.exe(477696 字节,单文件,仅依赖 .NET Framework 4.x)
- Source code (zip / tar.gz) 由 GitHub 自动生成
v1.2.2
v1.2.2
与 v1.2.1 相比,本版本完成 15 项代码审查修复:
- 变体识别两阶段兜底:注册表/运行进程 -> 安装目录路径兜底再套用 profile
- ApplyVariantProfile 重置 variant 数组并返回实际应用状态
- 步骤编号统一:仅 Run 输出 [n/9],内部函数输出子步骤
- DSH_HOME 归一化比较(Trim/GetFullPath)
- IsDshPathEntry 空值保护(DshRuntime/DshHome 为空不再误判)
- UAC 取消改为 MessageBox 弹窗提示
- npm @deepseek-ai/dsh 目录校验,避免误删普通 npm 目录
- CleanDshHome 增加 IsSafeDshHome 安全守卫
- LogService.Write 主日志失败降级到副本/当前目录
- VariantProfile.Label 单一数据源 + VariantCatalog.FindByAppId(删除 KnownAppIdLabels)
- RetentionOptions.Copy 深拷贝
- GUI 三组勾选列表共用 WireParentChecked/WireItemCheck
- using 精简、全文件 CRLF 统一
- 重新审查额外修复:WireParentChecked 调用顺序、lambda ref 参数 CS1628、VariantProfile 标签参数位置
构建:csc 零警告;/DryRun 与 /help 冒烟通过;exe 473600 字节。
v1.2.0
v1.2.0(2026-08-20 更新)
本次更新将 v1.2.0 标签推进到最新提交,在 6 模块拆分基础上追加:
- 启动即提权:除 /help、/DryRun 等只读模式外,程序启动立即请求管理员权限
- 日志完整化:记录命令行、日志路径、taskkill/cmd 执行命令、目录/文件删除重试与报错、附加目录验证结果
- 识别修正:%APPDATA%\DSH Desktop 等 Electron 用户数据目录现在会被正确识别为 DSH 目录
- 识别扩展:dsh-edge-app 变体目录、WebView2/.NET 数据目录(EBWebView/config.json/*.db)同样纳入识别
- 二次确认弹窗:附加目录共用一个「附加目录:」标题
- 注册表/Run 清理:识别到具体仓库后自动收窄,避免误删其他 DSH 变体的卸载键/启动项
- 日志保护:/Log 指定的日志文件若位于被删除目录内,删除前自动转存到上一级目录
- 卸载器从安装目录运行时,旧进程日志自动合并进新日志
资产
- Uninstall_DSH_Desktop.exe(单文件,仅依赖 .NET Framework 4.x)
- Source code (zip / tar.gz) 由 GitHub 自动生成
v1.1.1
v1.1.1 更新说明(对比 v1.1.0)
新增
- 新增
/Log=<完整文件路径>参数,可自定义日志文件位置。 - 日志防删除保护:默认日志写在 exe 同目录;若该目录在本次卸载中会被删除(例如 exe 放在安装目录内),会在删除前自动把日志副本保存到上一级目录(不可写时保存到桌面),并全程双写,保证卸载完成后日志仍完整保留。
修复 / 改进
- 修复静态初始化阶段日志路径未就绪导致的无效日志写入。
- 新增 logAvailable 标志:日志初始化失败时不再反复尝试文件 IO。
- 命令行帮助
/help已列出/Log用法。 - 说明文档与 README 同步更新。
下载
- 单文件:
Uninstall_DSH_Desktop.exe(仅依赖 Windows 自带 .NET Framework 4.x) Source code (zip / tar.gz)由 GitHub 自动生成
v1.1.0
v1.1.0
与 v1.0.1 相比的更新:
变体识别与仓库专属清理
- 新增内置仓库适配:
zouyuxuan122/Deepseek-Harness-EAC、majiayu000/dsh-desk、FlashingChen/dsh-desktop-hub、Lxiayu/DshCockpit、ding7015869-alt/dsh-web-desktop、citrusli2026/dsh-electron-shell、hastings0714/dsh-client。 - 识别到具体仓库后,进程名 / 快捷方式名 / 程序目录名自动收窄为该仓库对应名称;未识别仓库时使用全量通用列表。
- 修复
DSH Desk与DSH Desktop的识别顺序问题(DSH Desktop 包含 DSH Desk 子串,之前会误判)。 - 名称修正:
deepseek-runtime->deepseek-harness(官方仓库为 deepseek-ai/deepseek-harness)。
识别准确性
- 注册表安装目录解析优先级:InstallLocation -> BundleCachePath -> DisplayIcon -> UninstallString -> QuietUninstallString。
- 新增 WMI
Win32_Process回退读取进程可执行路径(MainModule 读取失败时使用)。 - 卸载键识别支持
AppId前缀匹配(AppId_is1、AppId-xxx等)。 - 顶部“当前DSH”标签支持官方 / 第三方 / 未知。
卸载流程
- 进程结束改为 关闭窗口 -> 强制结束 ->
taskkill /F /T三层策略,连同 Electron 子进程树一起结束。 - 清理 HKCU/HKLM 的 Run 与 RunOnce 中指向 DSH 的启动项。
- PATH 清理后广播
WM_SETTINGCHANGE,通知系统环境变量已变更。 - 卸载器自身位于安装目录时,先复制到
%TEMP%再执行,退出后延迟删除临时副本。 - UAC 提权后等待子进程退出并返回其退出码。
安全
- 新增
HasDshSignature:resources\app.asar、resources\app、package.json中 dsh/deepseek 特征验证。 - 常见同名目录(如
%USERPROFILE%\DSH Desktop)删除前必须验证确为 DSH/Electron 安装。 /InstallDir手动指定目录时拒绝根目录、用户目录、Windows 目录、Program Files / Program Files (x86)。
UX
- 新增
/DryRun(别名/Preview):只列出删除目标与保留项,不实际删除。 - 新增
/help、/InstallDir=<path>。 - 卸载确认弹窗列出本次删除目标与保留内容。
- 卸载过程显示“DSH 卸载进度”窗口,实时输出日志。
- 日志改为在当前运行目录生成
Log.log。
构建
build-uninstaller.ps1增加System.Management.dll引用,并继续编译根目录全部.cs。
v1.0.1
更新说明 (v1.0.1)
本次更新继续扩展对其它 DSH 桌面端的兼容,并整理文档与发行版。
✨ 新增 / 增强
- 多桌面端兼容扩展:新增一批第三方桌面端的进程名、安装目录、快捷方式与本地/漫游数据路径识别(deepseek-runtime-desktop、DSH-Desktop、DeepSeek-runtime-Desktop、dsh-desk、dsh-studio、dsh-desktop-hub、dsh-cockpit、dsh-client、dsh-web-desktop、dsh-electron-shell 等)。
- 变体识别增强:弹窗顶部「当前DSH:」可识别更多第三方仓库(majiayu000/dsh-desk、gxcsoccer/dsh-studio、FlashingChen/dsh-desktop-hub、Lxiayu/DshCockpit、Ackow/dshdesktop-client、ding7015869-alt/dsh-web-desktop、citrusli2026/dsh-electron-shell、hastings0714/dsh-client、zouyuxuan122/Deepseek-runtime-EAC 等),无法识别时显示「未知 null」并走通用卸载逻辑。
- skills 保留功能:新增
/KeepSkills(保留全部.dsh\skills)与/KeepSkills=名称1,名称2(按名称保留),GUI 中「保留 skills」大类支持三态联动与按名称勾选;所有 DSH 桌面端共用同一DSH_HOME数据根(~\.dsh\skills),无需为各变体单独适配。 - 可选保留细分类别:应用设置(
settings.yaml)、模型配置与凭据(.credentials.yaml+settings.yaml模型部分,共用文件自动合并)、聊天数据、插件、其他.dsh数据、.dsh-runtime均可独立勾选。 - 文档整理:重写 README,更新详细卸载说明(第三方仓库清单、进程列表、skills 共用数据根说明)。
🔧 修复 / 内部
- 卸载检测与清理改为数组驱动(单一数据源),新增变体只需扩展数组即可自动覆盖安装目录/漫游/本地数据/快捷方式/进程识别,代码更整洁、易维护。
- 保持单文件发行:
Uninstall_DSH_Desktop.exe仅依赖 Windows 自带 .NET Framework 4.x,不调用额外脚本/DLL。
📦 发行
- 单个 exe:
Uninstall_DSH_Desktop.exe(429568 字节) - Source code (zip / tar.gz) 由 GitHub 自动生成
提示:卸载会删除 DSH / DeepSeek runtime 桌面端产生的用户数据与会话记录,请提前备份需要的内容。