本地跑 test-light.ps1 等很久,慢的大头不是编译而是 Inno Setup 在压 PDB: 包里 PDB 约 140 MB,而真正的 EXE/DLL 只有约 20 MB,msime_setup.iss 又是 Compression=lzma2 + SolidCompression=yes,整整一遍压下来轻量包要 58.7 秒。 Prepare-PackageFiles.ps1 新增 -IncludeSymbols,不带它就把 server_exe\ 和 tsf_dll\ 里的 PDB 全部剔除。校验逻辑没有放松:仍然要求 Release 构建产出同名 PDB,缺符号照样打包失败,只是「符号是否随包安装」变成了显式选择。 msime_setup.iss 的两条 *.pdb 加上 skipifsourcedoesntexist,同一份脚本在带 符号和不带符号两种暂存下都能编译。 正式发布行为不变:release.yml 的打包步骤显式传 -IncludeSymbols,发布的安装包 依旧携带与二进制匹配的符号。 test.ps1 和 test-light.ps1 原本是两份几乎逐行相同的拷贝,现在一起收进 Invoke-LocalTest.ps1,三个入口都是它的薄包装: test.ps1 含词库,不含 PDB test-light.ps1 不含词库,不含 PDB test-symbols.ps1 含 PDB,默认轻量,加 -Full 走完整包 轻量包 Inno Setup 耗时 58.7s -> 9.2s,安装包体积 33.4 MB -> 7.7 MB。
14 lines
609 B
PowerShell
14 lines
609 B
PowerShell
# 本地测试安装流程:编译本仓组件→ 收集安装文件 →
|
|
# 本机自签名 → Inno Setup 打包 → 签安装包 → 启动安装程序。
|
|
#
|
|
# 不使用任何预置证书。签名脚本会在本机生成并复用自签名测试证书。
|
|
# 只改 TSF / Server / HTML、且本机已有词库时,用 .\test-light.ps1。
|
|
# 需要包内带 PDB 时用 .\test-symbols.ps1 -Full。
|
|
#
|
|
# 编译是增量的,实现见 Invoke-LocalTest.ps1。
|
|
|
|
[CmdletBinding()]
|
|
param([switch]$Reconfigure)
|
|
$ErrorActionPreference = 'Stop'
|
|
& (Join-Path $PSScriptRoot 'Invoke-LocalTest.ps1') -Reconfigure:$Reconfigure
|