Repository navigation
[Windows] 桌面端点击更新静默失败:安装器无法改名安装目录(error 32),界面无任何提示 #13110
FenrirCait
started this conversation in
General
Replies: 2 comments
|
补一份现场验证过的恢复步骤,供同样卡在 适用条件(缺一不要照做)
步骤
代价与回滚
这不是官方步骤,只是现场验证过的恢复路径;根因见主贴与 dsh-purge #202。 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
[Windows] 桌面端点击更新静默失败:安装器无法改名安装目录(error 32),界面无任何提示
环境
<INSTALL_DIR>0.2.2-rc.1→0.2.2-rc.2(较新版本同样风险,未逐一验证)现象
点击「更新」后,窗口关闭又打开,版本仍是 rc.1,界面没有任何错误提示,看起来像「点了没反应」。连续两次尝试,间隔约 7 分钟,表现一致。
证据
1. 下载正常
%LOCALAPPDATA%\@deepseek-aidsh-desktop-updater\pending\deepseek-harness-0.2.2-rc.2-win-x64.exe=299,659,528 Bpending\update-info.json的sha512完全一致Status: Valid,签名主体Hangzhou DeepSeek Artificial Intelligence Co., Ltd.,FileVersion=0.2.2-rc.22. 安装失败在「整目录改名」
%LOCALAPPDATA%\@deepseek-aidsh-desktop-updater\installer-logs\directory-failure-*.log(两次失败各一份,内容一致):→ 安装器把整个安装目录改名为
.old-{GUID}做备份;只要还有进程持有该目录(或其内文件),改名就失败;10 次重试后回滚,用旧版重启。3. 失败时刻的进程树
<INSTALL_DIR>\DeepSeek Harness.exe共 8 个:main、gpu-process、utility(network)、renderer、host,以及 host 派生的孙进程:profiles/desktop/node_modules/<plugin>/lib/runtime/gateway.js --port ...).../mcp/server.mjs)resources/app/dsh/node_modules/@deepseek-ai/dsh-subprocess-local/lib/runner.js)主进程退出逻辑(
resources/app/lib/main.js)只对 host 子进程发shutdown→SIGTERM→SIGKILL(1e4→5e3→5e3 ms),不会枚举孙进程;这些孙进程不是 job object 成员,宿主停止后不会随之退出。electron-updater 的quitAndInstall也没有进程树兜底。4. 静默(
/S)安装的完整性同一台机器上出现过一次「安装器退出码 0,但
resources\runtime为空目录(0 个条目,缺primary-runtime)」,重装一次才补齐。也就是说resources\runtime缺失时安装器不报错、不改退出码。影响
建议
taskkill /T /F按树杀,确认 0 句柄后再改名;或改为「逐文件替换 + 失败回滚」,避免整目录改名这一强依赖。installer-logs/last-failure.json),下次启动时提示「上次更新未完成:目录被占用,请退出所有实例后重试」。resources\runtime、resources\app.asar、可执行文件版本三者校验,缺失即非零退出。DeepSeek Harness.exe实例」,先提示用户关闭,再进入安装阶段。附:日志片段可复现步骤
%LOCALAPPDATA%\@deepseek-aidsh-desktop-updater\installer-logs\新增directory-failure-*.log,版本不变;pending\deepseek-harness-0.2.2-rc.2-win-x64.exe /S /D=<INSTALL_DIR>,可成功安装。All reactions