Release 0.2.0 vorbereiten: update-agent ins Paket, Release-Skripte
Das 0.1.0-Paket enthielt keinen update-agent. "Jetzt installieren" sucht ihn ueber UpdateClient.ResolveAgentPath() neben der Anwendung - ohne ihn konnte sich keine Installation selbst aktualisieren. - BundleUpdateAgent (App-csproj): legt den Agenten beim Publish fuer eine Laufzeitkennung neben die Anwendung; fuer ein Release ein Abbruch, wenn er fehlt - scripts/release.ps1: unveraenderte Vorlage des Deploymentcenters - scripts/publish-release.ps1: holt den Agenten mit Pruefsumme aus installer.json und legt die Packager-Konfiguration neben pack-and-deploy - Version 0.2.0 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -83,4 +83,24 @@
|
||||
<Content Include="..\PolyTrader.Web\wwwroot\**" Link="wwwroot\%(RecursiveDir)%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Der update-agent gehört ins Paket, direkt neben die Anwendung. "Jetzt installieren" sucht ihn
|
||||
über UpdateClient.ResolveAgentPath() genau dort; fehlt er, meldet die Anwendung nur "kein
|
||||
Update-Agent" und kann sich nie selbst aktualisieren. Das 0.1.0-Paket vom 20.08.2026 hatte
|
||||
ihn nicht - weder die Release-Vorlage noch pack-and-deploy legen ihn hinein.
|
||||
Die Binaries holt scripts/publish-release.ps1 mit Prüfsumme nach .dc-tools/. Liegen der
|
||||
Agent im Paket und in der manifest.json, tauscht er sich beim Update selbst mit aus. -->
|
||||
<Target Name="BundleUpdateAgent" AfterTargets="Publish" Condition="'$(RuntimeIdentifier)' != ''">
|
||||
<PropertyGroup>
|
||||
<_DcAgentExt Condition="$(RuntimeIdentifier.StartsWith('win'))">.exe</_DcAgentExt>
|
||||
<_DcAgentSource>$(MSBuildThisFileDirectory)..\..\.dc-tools\update-agent-$(RuntimeIdentifier)$(_DcAgentExt)</_DcAgentSource>
|
||||
</PropertyGroup>
|
||||
<!-- Für ein Release (DcRequireUpdateAgent=true, gesetzt von publish-release.ps1) ist ein
|
||||
fehlender Agent ein Abbruch; beim Publish zum Testen nur ein Hinweis. -->
|
||||
<Error Condition="!Exists('$(_DcAgentSource)') And '$(DcRequireUpdateAgent)' == 'true'"
|
||||
Text="update-agent für $(RuntimeIdentifier) fehlt ($(_DcAgentSource)). Ohne ihn kann sich die Installation nicht selbst aktualisieren - scripts/publish-release.ps1 holt ihn." />
|
||||
<Warning Condition="!Exists('$(_DcAgentSource)') And '$(DcRequireUpdateAgent)' != 'true'"
|
||||
Text="update-agent für $(RuntimeIdentifier) nicht gefunden ($(_DcAgentSource)) - dieses Publish kann sich nicht selbst aktualisieren." />
|
||||
<Copy Condition="Exists('$(_DcAgentSource)')" SourceFiles="$(_DcAgentSource)" DestinationFiles="$(PublishDir)update-agent$(_DcAgentExt)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user