From 7b7253943fae7200a018782cf37fce69064b0800 Mon Sep 17 00:00:00 2001 From: laluo <2135665716@qq.com> Date: Thu, 10 Sep 2026 15:09:26 +0800 Subject: [PATCH] =?UTF-8?q?docs(=E6=96=87=E6=A1=A3):=20=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E6=89=93=E5=8C=85=E6=9D=A5=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SIMCAE打包上传.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/SIMCAE打包上传.md b/SIMCAE打包上传.md index 059bad3..07f7d7a 100644 --- a/SIMCAE打包上传.md +++ b/SIMCAE打包上传.md @@ -101,21 +101,32 @@ git %* ## 五、刷新现有 CMake 打包配置 -下面命令只刷新已有构建目录的 CMake 配置,用来告诉打包目标 Qt IFW 和 Hub SDK 在哪里,不是全量重新编译 SIMCAE。 +下面命令只刷新已有构建目录的 CMake 配置,用来告诉打包目标 Qt IFW 在哪里,以及 Hub 更新客户端的本地编译产物和 SDK 兜底在哪里,不是全量重新编译 SIMCAE。 先确认当前 PowerShell 已经在 SIMCAE 项目根目录。下面给出一个常见 Qt IFW 安装路径示例;如果你的 Qt IFW 装在别的位置,只改 `$QtIfwRoot` 这一行。 ```powershell $Build = ".\out\build\SimCAE-release-vs2022-qt515-ifw" $QtIfwRoot = "C:\Qt\Tools\QtInstallerFramework\4.11" +$HubUpdateClientRuntime = ".\update-client\out\bin\Release" $UpdateClientSdk = ".\update-client\dist\UpdateClientSDK-With-QtDll" ``` -检查关键文件: +先检查 SIMCAE 工程里的 Hub 更新客户端本地编译产物: ```powershell Test-Path "$QtIfwRoot\bin\binarycreator.exe" Test-Path "$QtIfwRoot\bin\repogen.exe" +Test-Path "$HubUpdateClientRuntime\Launcher.exe" +Test-Path "$HubUpdateClientRuntime\Updater.exe" +Test-Path "$HubUpdateClientRuntime\Bootstrap.exe" +``` + +如果上面三个 EXE 都存在,打 SIMCAE 安装包时会优先使用它们,不会再从 SDK 目录重复拿一份。 + +如果本地编译产物不存在,再检查 SDK 兜底目录: + +```powershell Test-Path "$UpdateClientSdk\bin\Launcher.exe" Test-Path "$UpdateClientSdk\bin\Updater.exe" Test-Path "$UpdateClientSdk\bin\Bootstrap.exe" @@ -143,12 +154,15 @@ $LauncherProductConfig = "..\.tmp\simcae-launcher-product-config.json" cmake -S . -B $Build ` "-DSimCAE_QtIfwRoot=$QtIfwRoot" ` "-DSimCAE_PackageHubUpdateClient=ON" ` + "-DSimCAE_HubUpdateClientRuntimeDir=$HubUpdateClientRuntime" ` "-DSimCAE_HubUpdateClientSdkDir=$UpdateClientSdk" ` "-DSimCAE_UseLauncher=ON" ` "-DSimCAE_LauncherProductConfigFile=$LauncherProductConfig" ` "-DGIT_EXECUTABLE=$GitVersionShim" ``` +`SimCAE_PackageHubUpdateClient=ON` 只负责把 `Launcher.exe`、`Updater.exe`、`Bootstrap.exe` 放进 SIMCAE 安装包。正式客户配置文件,例如 `config/app_config.json` 和 `config/manifest_public_key.pem`,仍然由服务端在上传发布包时生成或注入,不从开发机本地目录带进最终客户包。 + 如果只想把 Hub 更新客户端打进安装包,但暂时不限制用户直接双击 `SimCAE.exe`,则把上面命令中的 `SimCAE_UseLauncher` 改为 `OFF`,并去掉 `SimCAE_LauncherProductConfigFile` 这一项。 ## 六、生成客户安装器和 IFW package