问题背景 / Background
部分用户可能会将工作区(Workspace)或项目代码直接创建/存放在客户端的自定义安装目录中(例如 D:\dsh-desktop\my-project 或安装根目录下)。
在客户端执行版本更新或安装器覆盖升级(如 Windows NSIS 卸载旧版重装流程)时,若安装器采用递归清空或整体删除安装目录的策略,可能导致用户的工作空间、项目代码及本地数据被误删,造成严重的数据丢失风险。
期望行为 / Expected Behavior
- 精准更新应用内部文件:
- 自动更新与安装器覆盖升级时,仅精准替换属于客户端自身的程序资源与依赖(如
resources/app、可执行文件、核心动态链接库等);
- 严禁全量递归清空安装目录:
- 严禁在升级卸载阶段直接删除整个
$INSTDIR 根目录;
- 对未识别为系统分发的非应用文件及子文件夹(用户工作区、自定义配置、git 仓库等)予以严格保留。
价值 / Motivation
- 保护用户数据安全:消除覆盖安装导致用户本地项目与工作区代码丢失的毁灭性风险。
问题背景 / Background
部分用户可能会将工作区(Workspace)或项目代码直接创建/存放在客户端的自定义安装目录中(例如
D:\dsh-desktop\my-project或安装根目录下)。在客户端执行版本更新或安装器覆盖升级(如 Windows NSIS 卸载旧版重装流程)时,若安装器采用递归清空或整体删除安装目录的策略,可能导致用户的工作空间、项目代码及本地数据被误删,造成严重的数据丢失风险。
期望行为 / Expected Behavior
resources/app、可执行文件、核心动态链接库等);$INSTDIR根目录;价值 / Motivation