Repository navigation
Replies: 1 comment
|
Adding a sibling failure branch from the same family, in case it helps triage. On Full timeline, source analysis and the verified workaround: #13041. Relevant to this thread: the "extract Get-ChildItem HKCU:\Software | ForEach-Object { $v = Get-ItemProperty $_.PSPath -EA 0; if ($v.InstallLocation -like "*DeepSeek*") { "$($_.PSChildName) -> $($v.InstallLocation)" } }If that prints nothing, running the signed installer once against a renamed (hence empty) target directory is enough to register it — details and evidence in #13041. |
Uh oh!
There was an error while loading. Please reload this page.
Summary
On this Windows 11 x64 machine, the DeepSeek Harness desktop installer cannot install to any directory.
Validation always fails with the
INSTALLER_PATH_INVALIDmessage fromapps/desktop/installer/path.nsh,even though the directory satisfies every documented rule (absolute local fixed-disk path, < 180 chars,
no special characters, empty or non-existent target, no reparse points).
Both the
dsh-latestdownload and the newest nightly build behave identically, in GUI and silent mode,with and without elevation.
Environment
10.0.22631,AMD64(D:\/C:\both NTFS,GetDriveTypeW == 3)zh_CN(UI text is the Simplified Chinese one)USERPROFILE=C:\Users\<user>AppData\Roaming(redirected) =F:\Users\Ayin\AppData\RoamingLocal AppData=C:\Users\<user>\AppData\LocalDesktop=F:\Users\Ayin\桌面ProgramW6432=F:\Program Files(Program Files was moved toF:)TEMP=C:\Users\<user>\AppData\Local\TempBuilds tested
dsh-latest)https://download.deepseek.com/desktop/dsh-latest-windows-x64.exegu2dH+aTr678c0P8DGAH/h4B1GaWfQIjpsPrLjl/ukLrQIh6DLVq/MhX4FZvJ8o1GCMocOhix6XbLa6KmtjXXg==https://download.deepseek.com/dsh-desk/bin/win-x64/deepseek-harness-0.2.2-rc.1-win-x64.exeswcK0J6ofGkaAWLRpOes2ca7CWO8vuM5Vp0FRnQ/DG3q+Z+OhvsgLz3hIiSYpRUETY+fEz+Ww86fNa0jiVIifw==The
0.2.2-rc.1SHA-512 matches the official feedhttps://download.deepseek.com/dsh-desk/feeds/win-x64/nightly.ymlexactly.Both files carry a valid Authenticode signature:
CN="Hangzhou DeepSeek Artificial Intelligence Co., Ltd.", issued byGlobalSign GCC R45 EV CodeSigning CA 2020, timestamped. So this is not a corrupted or tampered download.Steps to reproduce
C:\Users\<user>\AppData\Local\Programs\DeepSeek Harness.Result: a message box appears immediately:
which is
INSTALLER_PATH_INVALIDfromlocales/zh_CN.json.No file is written; the installer stays on the welcome page.
Variants that all fail the same way
C:\Users\<user>\AppData\Local\Programs\DeepSeek HarnessINSTALLER_PATH_INVALIDC:\Users\<user>\AppData\Local\Programs\DeepSeekHarness(no space in name)D:\DeepSeekHarness(does not exist, 300+ GB free, same local NTFS disk)DeepSeek-Harness-…-win-x64.exe /S2, nothing installed/S /D=D:\DSHApp2, nothing installedStart-Process -Verb RunAs, UAC accepted)Note:
customInitinscripts/installer.nshalso runs
InstallerPreflightin silent mode, which is why/Sexits with2without showing anything.Second symptom: temp extraction
If the installer is started with the normal user
TEMP(
C:\Users\<user>\AppData\Local\Temp, which is writeable by the user and has a normal ACL),the NSIS stub fails before showing the welcome page:
Starting the same executable with
TEMP/TMPpointing to a directory on another volume reaches the UI,so the UI itself and the extraction of the plugin DLLs work. (The user
TEMPdirectory hasNT AUTHORITY\SYSTEM: FullControl,BUILTIN\Administrators: FullControl,aitu\14647: FullControl.)What I verified about the candidate paths (not the cause, as far as I can tell)
Checked from both 32-bit (
SysWOW64PowerShell) and 64-bit processes, on the same machine:GetDriveTypeW("C:\")andGetDriveTypeW("D:\")both return3(DRIVE_FIXED).GetFileAttributesWof every ancestor of the default path returns0x00000010(directory, notFILE_ATTRIBUTE_REPARSE_POINT); the final component either does not exist (0xFFFFFFFF) or is anordinary empty directory.
:*?"<>|/, no trailing space/dot, no reserved device name.C:\Users\<user>,…\AppData,…\Local,…\Programsare all real directories (no junctions/symlinks;fsutil reparsepoint queryreports "not a reparse point").So all checks in
InstallerValidatePathshould pass for these inputs.Why I believe this is the installer, not the download
I extracted the NSIS payload with 7-Zip from the same signed executable:
and the extracted application runs normally: the window opens, the Host binds an OS-assigned local port,
the update check reports
0.2.2-rc.1as current. So the packaged payload, the runtime and the app itselfare fine on this machine — only the installer's preflight/validation stage fails.
Environment details that may matter
The unusual part of this machine is the relocated shell folders:
AppData\Roaming,Desktop,Documents,Downloadslive onF:, whileLocal AppDatastays onC:, andProgram Fileswas movedto
F:(so%ProgramW6432%=F:\Program Files). NSIS derives$APPDATA,$LOCALAPPDATA,$PROGRAMFILES32/64and$PROFILEfrom these locations, andInstallerValidatePathcompares ancestorsagainst them. It would be worth checking whether a reloaded/redirected known folder makes one of those
constants resolve to something that trips the ancestor comparison, or makes
System::CalltoGetDriveTypeWfail in the installer process.Request
$InstallerPath,StrLen, theGetDriveTypeWresult and which check returned early. Right nowINSTALLER_PATH_INVALIDcovers six different branches and is impossible to debug from the outside.
Windows installer, or relax the validation if it is too strict for it.
/NCRC-style flag that skips the preflight for testing) is available,I am happy to run it and report the exact values.
Workaround used for now
Extract
$PLUGINSDIR\app-64.7zfrom the signed installer and runDeepSeek Harness.exefrom the extractedfolder (with desktop/Start Menu shortcuts). Everything works except the uninstall entry and in-app updates
(which would call the same NSIS installer).
Links
dsh-v0.2.2-rc.1: https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.2-rc.1All reactions