现象:非提升权限下更新安装器失败,NSIS 弹出 "Error writing temporary file. Make sure your temp folder is valid", 但临时目录实际可写(已实测),且失败时零写入。 对比:同一参数、同一临时目录,改为管理员权限运行 → 成功。 建议: 1) 当前文案会把用户引向 temp 目录,建议至少附上安装器退出码; 2) electron-updater 的日志(含 spawn 的安装器命令行与退出码)建议写入harness.log,目前只有控制台; 3) 若某些安装场景实际需要提升权限,建议在 app-update.yml 中正确设置 isAdminRightsRequired,让更新器走 elevate 路径。 [update-log.txt](https://github.com/user-attachments/files/33866842/update-log.txt)
Activity
yaojin3616 commentedon Oct 28, 2026
v0.13.0 发布后状态复核:
此问题不能按 v0.13.0 已修复关闭。错误提示改进 PR #811 尚未合并,且 NSIS 最初解压到 Temp 的失败早于自定义安装脚本,不能靠后续重试弹窗覆盖。另有实测表明低完整性安装进程也可能触发类似临时文件错误,但尚不能证明本 issue 同因。请补充普通启动的安装进程完整性级别、退出码及下载安装位置的完整性标记;不要直接修改系统权限作为默认处理。保留打开。
版本入口:https://github.com/dataelement/dsh-desktop/releases/tag/v0.13.0
反馈请隐去 token、账号凭据、完整会话和其它敏感信息。
yixiangw314-web commentedon Oct 30, 2026
感谢复核。补充你要的三项数据(2026-10-23 实测;Windows 11 25H2 build 26200 x64;DSH Desktop 0.12.0 → 0.12.1)。
| :--- | :--- |
| 启动安装器的终端令牌 |
Mandatory Label\Medium Mandatory Level(S-1-16-8192),Administrators 为 deny-only(过滤令牌) || 安装器清单 |
requestedExecutionLevel level="asInvoker"|| 安装进程实际级别 | Medium(asInvoker 继承父进程) |
即:我们复现的失败发生在 Medium 完整性下,不是低完整性。
如果你们观测到的「低完整性安装进程触发同类错误」是另一条路径,本 issue 应与它分开跟踪,避免同因误判。
补充:我现在的复测环境是应用的受限沙箱,只能测到
Low(S-1-16-4096),那是工具环境,不代表用户普通双击启动。--updated /S --force-run --package-file=…(electron-updater 自动拼装)/S非提升 5 次全部退出码 2,提升 1 次退出码 0。
两条补充:
--updated无关:完全不带参数走普通向导同样退出码 2。Zone.Identifier/ 无 MOTW:文件只有一个:$DATA流,没有 ADS。原始下载副本已在本地清理中删除;现用同一 URL 重新下载了 sha512 与
latest.yml完全一致的副本(284,978,856 字节),复核同样无 ADS。%LOCALAPPDATA%\dsh-desktop-updater\pending\%LOCALAPPDATA%\Programs\DSH Desktop,icacls未显示 Mandatory Label(默认继承)%TEMP%带Mandatory Label\Low Mandatory Level:(OI)(CI)(NW)(低完整性 + No-Write-Up),可能与本机历史上安装过的沙箱类软件有关。若你们的低完整性假设与此相关,这条或许有参考价值;我们未据此下结论。关于系统权限
同意,不把修改系统权限作为默认处理。我们仅在本地用管理员方式完成了一次安装作为绕过,不提交任何权限修改方案。
关于 v0.13.0
我们当前仍在 0.12.1,尚未在 v0.13.0 上复测。如果对定位有帮助,我可以补一组 v0.13.0 的对照数据(非提升 / 提升各一次,记录退出码、临时目录写入情况与完整性级别);请告知是否还需要保留 0.12.x 的对照。