Eine neue Version veröffentlichen
Die Anwendung wird per ClickOnce installiert und über eine auf Netlify
gehostete Seite verteilt: https://dokumentengesamtliste.netlify.app/.
Normalfall: alles in einem Rutsch
cd Z:\VWBS\VWGCBS_Dokumentengesamtliste_2026
.\deploy.ps1
Das Skript:
- zählt
ApplicationRevisionin der.csprojautomatisch um 1 hoch (dauerhaft gespeichert), - baut das Projekt im Release-Modus,
- veröffentlicht per ClickOnce (
msbuild /t:publish) nachnetlify-site, - räumt eine überflüssige lose
.exe-Kopie weg und prüft, obindex.html,_headersundhandbuch\index.htmlnoch vorhanden sind, - lädt
netlify-sitepernetlify deploy --prodhoch.
Dateien unter netlify-site\handbuch\ werden von keinem dieser Schritte
angefasst oder überschrieben — das Handbuch wird unabhängig davon
veröffentlicht, siehe Handbuch pflegen.
Nur bauen, ohne Netlify-Upload
Um netlify-site\ erst lokal zu prüfen, bevor sie öffentlich wird:
.\deploy.ps1 -OhneNetlifyDeploy
Wichtig: nicht über den UNC-Pfad ausführen
npx/die Netlify-CLI kommen mit UNC-Pfaden (\\nas9482c0\...) als
Arbeitsverzeichnis nicht zurecht. Das Skript deshalb immer über das
gemappte Laufwerk aufrufen — von Z:\VWBS\VWGCBS_Dokumentengesamtliste_2026,
nicht von \\nas9482c0\Visual Studio\VWBS\....
Node.js / Netlify-CLI
Node.js LTS ist auf dem Entwicklungsrechner installiert
(winget install OpenJS.NodeJS.LTS). Die Netlify-CLI selbst wird nicht
global installiert, sondern bei jedem Aufruf per npx netlify-cli
automatisch (und versioniert) geladen.
Erstmalige Anmeldung auf einem neuen Rechner
cd Z:\VWBS\VWGCBS_Dokumentengesamtliste_2026
npx netlify-cli login # öffnet den Browser zur Anmeldung
npx netlify-cli link --id f3d1036a-54c1-4aea-9ebf-1c7449c106f9
link erzeugt einen lokalen .netlify\-Ordner mit der Verknüpfung zur Seite
— diesen Ordner nicht committen/versionieren, falls das Projekt je unter
Versionskontrolle kommt.
Netlify-Site-Einstellungen
Der Netlify-Account „Mehlhorn" hat standardmäßig team-weiten
Zugriffsschutz aktiviert (sso_login auf jeder neuen Site automatisch
true) — jeder Seitenaufruf würde dann eine Netlify-Anmeldung verlangen, was
für eine öffentliche Installationsseite für Kollegen nicht funktioniert. Für
die Site dokumentengesamtliste ist das bereits deaktiviert:
npx netlify-cli api updateSite --data "{\"site_id\":\"f3d1036a-54c1-4aea-9ebf-1c7449c106f9\",\"body\":{\"sso_login\":false}}"
Zeigt die Seite nach einer Netlify-Team-Änderung plötzlich wieder 401 zurück, ist das vermutlich die Ursache — obigen Befehl erneut ausführen, oder in den Netlify-Projekteinstellungen unter „Sharing / Visitor access" manuell auf öffentlich stellen.
Testen auf einem Testrechner
Falls die App bereits von Datenträger/Netzlaufwerk installiert wurde: diese alte Installation zuerst über „Einstellungen → Apps" bzw. „Programme und Features" deinstallieren. ClickOnce behandelt eine Installation „von Datenträger" und eine Installation „aus dem Web" als unabhängige Bereitstellungen — eine Web-Installation ersetzt eine vorhandene Datenträger-Installation nicht automatisch.
- Browser öffnen:
https://dokumentengesamtliste.netlify.app/ - „Installieren" klicken →
setup.exeherunterladen und ausführen. - Bei der SmartScreen-Warnung „Weitere Informationen" → „Trotzdem ausführen".
- Nach der Installation: App starten, „Hilfe → Info" öffnen und die erwartete Versionsnummer prüfen.
Update-Test:
.\deploy.ps1erneut laufen lassen (Version zählt automatisch hoch), App neu starten — ClickOnce prüft laut Konfiguration (UpdateMode=Foreground) vor jedem Start automatisch auf eine neue Version und installiert sie ggf. vor dem eigentlichen Start.
Offene Punkte
netlify-site\ist aktuell nicht versioniert (kein Git-Repository für dieses Projekt) — bei Bedarf einrichten, damitindex.html,handbuch\und_headersebenfalls eine Historie haben.- Sobald ein echtes Code-Signing-Zertifikat vorliegt: Abschnitt in Lizenz und Zertifikat abarbeiten und den SmartScreen-Hinweis auf der Startseite entfernen/kürzen.