Repository navigation
Replies: 4 comments
|
一样的情况 |
|
还以为是我的问题 |
|
一样的情况,我本地让dsh写了个脚本我来手动更新的。 GitHub 回复稿(DeepSeek Harness · Discussions)目标位置:#10930
|
[Windows] Update to 0.2.1-rc.3 fails with MoveFileExW ERROR_ACCESS_DENIED (5); update succeeds after closing VS CodeSummaryI encountered a repeatable Windows update failure when upgrading DeepSeek Harness from The installer repeatedly failed to rename the existing installation directory to its During investigation, Windows Resource Monitor showed a This strongly suggests that an external process holding a file under the installation directory may prevent the directory swap. However, I cannot conclusively establish that this specific handle was the sole cause, because the update was retried after closing VS Code. Environment
Error logThe failure occurred repeatedly, including at The same failure persisted after reboot and when launching the cached installer directly. Investigation and evidence1. The suspected process was VS CodeWindows Resource Monitor showed the following process associated with a file handle under the Harness installation directory: The associated file path was under: The process was a VS Code utility subprocess, with another 2. Other checks did not reveal an obvious permissions or disk problem
These checks do not rule out every possible security or filesystem cause, but they make a simple directory-permission problem less obvious. 3. Closing VS Code was followed by a successful updateAfter identifying the handle, I closed VS Code and retried the update. The update completed successfully. This is strong circumstantial evidence of a file-handle conflict involving another process, but further investigation is needed to establish the exact cause. Expected behaviorWhen an update cannot rename the installation directory, the installer should:
Questions for maintainers
Additional contextThis may be related to other reports of Windows updates failing at the directory-backup stage with I can provide additional logs or command output if needed. |
Uh oh!
There was an error while loading. Please reload this page.
Summary
Clicking the "install and restart" action closes the app, but nothing is installed and the app does not come back. The version stays at
0.2.1-rc.2. The installer has downloaded and even unpacked the new build, then aborts at the directory swap.Environment
0.2.1-rc.2, updating to0.2.1-rc.3isAdminRightsRequired: false)<feed url>/win-x64/, channelnightly%LOCALAPPDATA%<installDir>is the app's install directory and<parentOf installDir>is its parentWhat happens
pending\deepseek-harness-0.2.1-rc.3-win-x64.exe(289,415,960 bytes). Its sha512 matchespending\update-info.json.<parentOf installDir>\<installDir-name>.new-{GUID}- 7814 files / 1043 MB, and the stagedDeepSeek Harness.exeis correctly versioned0.2.1-rc.3.<installDir>is modified - every file keeps its old timestamp. No restart is attempted.Ruled out
Authenticated Users: Modify; no deny ACEs; no integrity label on the install dir or its parent; not a junction/reparse point; small-file and 276 MB write tests inside<installDir>both succeed.update-info.jsonsays"isAdminRightsRequired": false; the install is per-user and the uninstaller is<installDir>\Uninstall DeepSeek Harness.exe /currentuser.DeepSeek Harness.exeprocess (GUI, host and tool runners) was stopped and the count was verified to be 0 before the installer ran; no other process had any module/path loaded from<installDir>.Additional observation (possibly the key)
The same rename fails manually while the app is fully stopped:
So the failure is specific to that one directory, not to renames in general, and we could not identify a handle holder for it. A sibling directory renames fine. This suggests something about
<installDir>(or a file inside it) that only the directory-rename path trips over.Workaround that works
With the app stopped, mirror the staged build over the install dir:
The app then starts
0.2.1-rc.3from the original path. This is how the update was finally applied.Suggestions
robocopy-style) instead of aborting - this environment can never complete the swap.<installDir>.new-{GUID}directory after a failed update (it is a full 1 GB build left behind).All reactions