hololake-system-architecture/engineering/operations/2026-07-30-hololake-windows-build-node-044.md

132 lines
5.8 KiB
Markdown
Raw Normal View History

---
type: hololake_windows_build_delivery
system: SYS-GLW-0001
version: 0.4.4
status: WINDOWS_X64_INSTALLER_BUILT_SMOKE_VERIFIED_AND_DELIVERED_LOCAL
recorded_at: 2026-07-30T05:35:00+08:00
continues: "[[HoloLake 0.4.4 · 星系世界、完整知识引擎与 AI Agent 回接]]"
belongs_to: "[[HoloLake 工程开发与交付记录]]"
---
# HoloLake 0.4.4 · Windows 构建节点与安装包交付
> 归属纠正2026-07-30该节点是 HoloLake 跨平台构建基础设施,不是第五域节点,也不属于苍耳的胖头鱼语言子系统。
## 本轮目标与权限边界
本轮把企业账号下尚未承担生产职责的广州 Windows Server 节点整理为 HoloLake Windows x64 构建能力,并用本地最新、尚未推送的完整 HoloLake 源码构建可安装版本。
这次完成的是“构建能力与安装包交付”,不是把该服务器登记为第五域可信入口,也不是线上部署:
- 未推送源码仓库;
- 未登记 `JD-FD-PRIMARY`
- 未开放新的公网服务;
- 未写入第五域主权状态或私人长期记忆;
- 未配置生产代码签名证书。
## 源码证据
```yaml
source: /Volumes/HoloLakeBuild/source/hololake-platform-hldp-runtime
branch: feat/hldp-runtime-browser
baseline_head: 7d99d359cb848f14c83197258d41b1ff4e731cdd
source_state: LOCAL_DIRTY_AND_UNPUSHED_0.4.4
transport_snapshot: C:/HoloLake-Era-local-latest-20260730.zip
transport_sha256: 73fcc437f668f644e202aa9be572cdaf5e3c77765bad14837917b00909e96e9e
repository_commit: not_created
repository_push: not_performed
```
“本地最新”在这里指本机工作树的真实快照,不能被误写为远程仓库最新提交。
## 构建节点
```yaml
logical_role_id: HL-BUILD-WIN-GZ-001
human_name: 光湖 Windows 构建节点(广州)
provider_instance_id: lhins-lehak4df
operating_system: Windows Server 2022 x64
resources: 2 CPU / 8 GB RAM / 60 GB system disk
node: 24.18.0
pnpm: 10.25.0
rust: 1.97.1 msvc
build_tools: Visual Studio Build Tools 2022
installer_tool: NSIS 3.12
binding_state: LOCAL_BUILD_RUNTIME_VERIFIED_JD_ADMISSION_NOT_PERFORMED
```
节点的公网地址和登录信息不写入恢复记录。
## 构建故障与修复因果
### Tauri 下载的 NSIS 包不完整
首次构建时Tauri 自动取得的 NSIS 压缩包被截断,无法形成可用工具链。随后重新取得完整官方包,并缓存所需的 Tauri NSIS 插件。
### 官方 NSIS 启动器在该系统上无法直接执行
完整官方包的启动器仍无法在该 Windows Server 环境执行,而 Chocolatey 安装的 NSIS 3.12 可正常运行。最终保留系统 NSIS补齐 Tauri 所需插件,并使用一个仅负责参数转发的兼容入口,让 Tauri 的构建过程继续调用系统 NSIS。
### 首次静默安装回读误判
TAT 以 `SYSTEM` 身份运行,而 NSIS 为 32 位程序。Windows 文件系统重定向把逻辑 `System32` 路径映射到了物理 `SysWOW64` 路径,导致第一次按逻辑路径检查时误判为“未安装”。改为从物理路径、卸载程序、内置文档和应用二进制同时回读后,确认安装成功。
### 简化安装器仅作为排障分支
排障过程中生成过简化 NSIS 安装器,但它不是最终交付物。最终重新恢复并交付 Tauri 原生安装器;简化版、测试副本、临时备份和烟雾测试安装目录均已删除。
## 正式产物与验证
```yaml
remote_artifact: C:/HoloLakeBuild/output/HoloLake-Era-0.4.4-Windows-x64-setup.exe
desktop_artifact: /Users/bingshuolingdianyuanhe/Desktop/HoloLake-Era-0.4.4-Windows-x64-setup.exe
size_bytes: 13749728
sha256: 495fc8b0cfdc9a50df08af19ed5c3407de977ea18c0794188519e8e31c3c7bf2
format: PE32 GUI / Nullsoft Installer self-extracting archive
magic: MZ
target: Windows x64
authenticode: NotSigned
installer_icon_readback: 32x32
installer_icon_png_bytes: 3151
silent_install: passed
application_binary_size_bytes: 33171456
application_product_name: HoloLake Era - Guanghu Language World
application_magic: MZ
bundled_agent_docs: present
bundled_mcp_assets: present
bundled_public_architecture: present
uninstaller: present
silent_uninstall_and_cleanup: passed
```
安装器包含可读取图标资源;正式光湖品牌资源沿用 0.4.4 源码内的跨平台图标配置。
当前安装包没有 Windows Authenticode 生产签名。Windows 可能显示“未知发布者”;在取得并安全配置正式代码签名证书前,不能把 `NotSigned` 写成已签名。
应用二进制的 Windows 文件属性仍显示 `0.2.0.0`,而 Tauri 包版本和本轮交付版本是 `0.4.4`。这不影响本轮安装验证,但后续发布前应统一 Windows 版本资源,避免文件属性与产品版本不一致。
## 清理与保留
构建机保留:
- 正式 Windows 安装包;
- 可复用 Node、pnpm、Rust、Visual Studio Build Tools 与 NSIS 工具链;
- 本轮源码工作副本与构建状态,供后续增量构建核验。
构建机已删除:
- 静默安装测试目录和卸载登记;
- 简化安装器脚本;
- Tauri 测试副本、修复前备份与重复原版副本;
- 烟雾测试临时目录。
Mac 只保留桌面正式安装包和既有 HoloLake 源码、应用、安装包、Vault、Codex 会话与连续性资料;本轮可重建传输临时目录在交付验证后清理。
## 下次恢复顺序
1. 先读本记录;
2. 重新读取本地源码分支、完整 HEAD 与工作树,不把本记录当成当前 Git 状态;
3. 使用 `HL-BUILD-WIN-GZ-001` 作为 HoloLake Windows 构建能力编号,不把它写入第五域节点表;
4. 构建前重新生成源码快照哈希构建后同时核对大小、SHA-256、PE 格式、图标、安装、核心资源和卸载;
5. 若要对外正式发布,先统一 Windows 文件版本资源并配置可信代码签名;
6. 若要接入第五域,再单独完成 `JD-FD-PRIMARY` 登记、最小权限、握手和健康回执。