DSH Agent v1.2.0
🎉 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