feat(installer): 「为所有用户安装」那趟自动放行防火墙入站 19540(装时加 / 卸时回收)

- deploy/prepare-extra.mjs 生成的安装器脚本新增两个 !define(规则名 / 端口)与两段逻辑:
  customInstall 里当 $installMode == "all" 且当前是提权进程时,先删后加一条入站放行规则;
  customUnInstall 里只要是管理员就回收同一条规则。失败一律忽略,绝不因此让安装/卸载失败。
- 订正 docs 里「安装包按用户安装、不申请提权、改不了防火墙」这句错话(部署指南 7.5/7.9、
  上线检查清单、常见问题 Q101、升级说明):选「为所有用户安装」会 UAC 提权,那一趟就把规则加好了;
  「仅为我安装」才需要现场手工放行。手工规则名与自动规则名不同,卸载只删自动那条。
- .gitignore 注释补上「防火墙入站规则」。

验证:四套自检全绿(服务端 13 包 / 前端 vue-tsc + 680 例 + build / Console 20 文件 + 68 例);
生成器重跑幂等(.nsh 哈希 9edcdc31… 不变);本机 wine 用 makensis v3.04 编译含该 .nsh 的脚本 0 error。
未验证(需真机):提权安装后防火墙里真的出现该规则、卸载真的删掉、失败分支真机表现。
This commit is contained in:
AskaEth committed 2026-09-12 19:42:23 +08:00
1 parent c97d3150c9
commit 78b14efaa9
6 files changed
+66 -13

No files matched your search

+1 -1
View File
@@ -17,7 +17,7 @@ deploy/signature.local.txt
deploy/signature.build.txt
# 版本注入脚本(构建时由 deploy/prepare-extra.mjs 从仓库根 VERSION 生成)
deploy/version.gen.bat
# 安装器自定义脚本:许可页署名 + 上次安装目录记忆(构建时生成)
# 安装器自定义脚本:许可页署名 + 上次安装目录记忆 + 防火墙入站规则(构建时生成)
console/resources/installer-custom.nsh
# 开发文档(内部设计文档,不进仓库)