用 electron-builder 发 Electron 应用时,更新渠道(如 APP_UPDATE_ENV → latest.yml base URL)与 安装 identity(appId、productName)是两条正交的线;只改前者无法实现本机 QA + 正式双安装。

Claims

  1. 相同 appId:Windows NSIS / macOS 将后装视为对先装的升级或替换,不会并排保留两个应用。
  2. APP_UPDATE_ENV(或同类变量):通常写入 extraMetadata、选择 publish URL、驱动运行时 API;不改变操作系统层面的应用标识。
  3. 共存方案:按渠道设置不同 appId + productName;可选 artifactName 区分产物文件名。
  4. userData 隔离:package.json 的 name 往往决定默认数据目录;双安装时应在 app.ready 前 app.setPath('userData', …) 按渠道分目录。
  5. 便携版:可与安装版临时并存,但常不支持 electron-updater,且未隔离时仍可能共用数据目录。

Evidence

相关


概念页:Cursor Agent(Composer),2026-05-28。