Skip to content

DSH Agent v1.2.0

Choose a tag to compare

@github-actions github-actions released this 17 Aug 05:53

🎉 v1.2.0 修复首次安装引导启动失败(真实根因)

🐛 真实根因

安装完成后勾选「运行 DSH Agent」直接启动 → dsh 启动失败(ERR_MODULE_NOT_FOUND),但从开始菜单打开同一个 exe 一切正常。

  • Inno Setup 6.3+ 默认以 RedirectionGuard enforcing 模式运行 Setup 进程,[Run] 段直接启动的子进程会继承该进程缓解策略
  • dsh 的 profile 插件全部经由 ~\.dsh\profiles\node_modules普通用户创建的 junction 解析
  • enforcing 模式下 Windows 拒绝跟随非管理员创建的 junction,表现为 Node 报包不存在——链接在磁盘上完好
  • 与权限、提权令牌、竞态无关(已用 PrivilegesRequired=lowest 最小实验排除)

✅ 修复

  • [Run] 改经 explorer.exe 转交桌面 shell 启动,新进程与 Setup 的缓解策略/令牌/环境块/句柄完全脱钩
  • 通用对策:即使日后另有继承因素,此改动同样有效

🛠 其他

  • 启动前诊断日志:记录 cwd、RedirectionGuard enforce/audit 状态、实际读一次 profile 链接,下次「换启动方式就挂」不用再猜
  • 回退错误的重试策略:删除「重试前 wipe fallback 目录」逻辑(会删掉完好链接,有害);重试仅兜底真正瞬态故障,重试期间前端不再假死
  • 完整排查记录:docs/WINDOWS-INSTALLER-REDIRECTION-GUARD.md