摘要

作者在 Narrative IDE 打包实践中发现:仅通过 APP_UPDATE_ENV 区分 QA / 正式的更新源时,本机安装仍会覆盖而非共存。根因是 electron-builder 的 appId / productName 相同,安装器视为同一应用。共存需按渠道配置不同 identity,并建议隔离 userData;便携版仅作临时方案。

要点

  1. APP_UPDATE_ENV ≠ 安装 identity:前者管 latest.yml、运行时 API 等;后者由 appId + productName 决定。
  2. 推荐:QA 示例 com.narrative.ide.qa + Narrative IDE (QA);正式保持 com.narrative.ide + Narrative IDE
  3. userData:默认常共用 narrative-ide 目录;app.readysetPath 按渠道后缀隔离。
  4. 与四月 electron-updater 讨论:更新投递 vs 本机双安装,正交问题。

另见


摘要与要点:Cursor Agent(Composer),2026-05-28。