From 750a68c49ebf97019de7b246eef41cef425c20c4 Mon Sep 17 00:00:00 2001 From: laluo <2135665716@qq.com> Date: Fri, 11 Sep 2026 18:16:49 +0800 Subject: [PATCH] =?UTF-8?q?docs(=E6=89=93=E5=8C=85):=20=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E5=AE=89=E8=A3=85=E5=99=A8=E7=94=B1=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E7=AB=AF=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SIMCAE打包上传.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/SIMCAE打包上传.md b/SIMCAE打包上传.md index 07f7d7a..148d96d 100644 --- a/SIMCAE打包上传.md +++ b/SIMCAE打包上传.md @@ -19,7 +19,7 @@ cd .\SIMCAE | 交付物 | 给谁用 | 作用 | | --- | --- | --- | | Hub 更新客户端 SDK | SIMCAE 开发者 | 提供 `Launcher.exe`、`Updater.exe`、`Bootstrap.exe` 和必要运行库 | -| Qt IFW 交付包 ZIP | 上传到 SimCAE Hub | 包含 IFW package、repository 和可选客户安装器,服务端会校验、注入配置并发布 | +| Qt IFW 交付包 ZIP | 上传到 SimCAE Hub | 包含 IFW package 和 repository,服务端会校验、注入配置、发布仓库并重新生成客户安装器 | | 客户安装器 | 最终客户 | 客户从门户下载后双击安装,安装后得到 `maintenancetool.exe` | 正式主线是:开发者只上传一个 Qt IFW 交付包 ZIP,客户只从门户下载客户安装器。客户不需要手动改服务器地址、token 或 `app_config.json`。 @@ -263,7 +263,7 @@ if ($UpdatesContent -notmatch "$([regex]::Escape($Version))") ## 八、组装 Qt IFW 交付包 ZIP -推荐上传给 SimCAE Hub 的是交付包 ZIP,它把 package、repository 和可选安装器放在一起。 +推荐上传给 SimCAE Hub 的是交付包 ZIP,它把 package 和 repository 放在一起。客户安装器由服务端基于注入配置后的 package 重新生成。 目录结构建议: @@ -273,18 +273,15 @@ if ($UpdatesContent -notmatch "$([regex]::Escape($Version))") - `repository/Updates.xml` - `repository/com.simcae.app/` - `repository/com.simcae.dap/` -- `installer/SimCAE-<版本>-Windows-installer.exe` + +不要依赖交付包里的 `installer/SimCAE-<版本>-Windows-installer.exe` 作为最终客户安装器。本地生成的安装器没有服务端注入的 `app_config.json`,客户直接安装后 `Launcher.exe` 会缺少服务器地址、token 和主程序配置。服务端必须配置 `SIMCAE_IFW_BINARYCREATOR_PATH`,Linux 服务端生成 Windows 安装器时还必须配置 `SIMCAE_IFW_INSTALLERBASE_WINDOWS_PATH` 指向 Windows 版 `installerbase.exe`,上传后由服务端重新生成客户门户可下载的安装器。 示例命令: ```powershell $PlatformKey = "windows_x86_64-msvc" $Bundle = "$Build\SimCAE-Delivery-$Version-$PlatformKey" -$Installer = "$Build\SimCAE-$Version-Windows-installer.exe" -if (-not (Test-Path $Installer)) { - throw "缺少本次版本安装器:$Installer" -} if (-not (Test-Path "$Build\ifw-repository\Updates.xml")) { throw "缺少 repository/Updates.xml,请先生成 IFW repository" } @@ -295,9 +292,6 @@ New-Item -ItemType Directory -Force "$Bundle" | Out-Null Copy-Item "$Build\package" "$Bundle\package" -Recurse -Force Copy-Item "$Build\ifw-repository" "$Bundle\repository" -Recurse -Force -New-Item -ItemType Directory -Force "$Bundle\installer" | Out-Null -Copy-Item $Installer "$Bundle\installer\" -Force - Compress-Archive -Path "$Bundle\*" -DestinationPath "$Build\SimCAE-Delivery-$Version-$PlatformKey.zip" -Force ```