Zeek.Updater.Package 10.0.42
Zeek.Updater.Package
Zeek.Updater.Package 是 Zeek 自控更新主线:验证 signed metadata v2,下载并校验更新资产,再由随包交付的原生 UpdateApplier 执行整目录 archive 或 Windows installer 更新。
安装 / 引用
<PackageReference Include="Zeek.Updater.Package" />
最小使用路径
根模块依赖 PackageUpdaterModule,并提供真实 source、应用身份和信任公钥:
public static IReadOnlyList<ModuleDependency> Dependencies =>
[ModuleDependency.Of<PackageUpdaterModule>()];
public void ConfigureServices(ModuleContext context)
{
context.UsePackageUpdaterEndpoint(
"https://updates.example.com/zeek-update.json",
trustedPublicKeyPem,
options =>
{
options.AppId = "MyCompany.MyApp";
options.PreferredAssetKind = PackageUpdateAssetKind.FullPackageArchive;
});
}
应用只消费统一 IUpdater。state、RID、helper 暂存、进程退出协调和资源清理由模块承担,不需要手写 UpdateApplierPath、runtime registry 或 host bridge。
AOT / Trim 与交付
- 包携带
win-x64、linux-x64、osx-x64、osx-arm64helper;buildTransitive自动复制当前 RID helper 到发布输出。 - 主路径使用显式模型和受控 JSON source generation,不依赖程序集扫描。
边界
- 不提供 Update Server、Publisher、CLI、灰度平台、证书基础设施或差分更新。
fullPackageArchive把安装目录视为不可变 payload;业务数据、日志和用户文件必须位于安装目录之外。- 四 RID 原生编译以 GitHub 对应 runner 的 release workflow 为准,本地单平台验证不能替代。
完整文档与 sample:
../../docs/modules/Zeek.Updater.Package.md../../docs/topics/Zeek.Updater.Package.SampleMatrix.md../../samples/Zeek.PackageFullArchiveUpdaterSample/
No packages depend on Zeek.Updater.Package.
.NET 10.0
- Zeek.Updater (>= 10.0.42)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.3)