diff --git a/scripts/install.ps1 b/scripts/install.ps1 index 09ee59e..321d105 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -1,16 +1,15 @@ # Installiert abdulive auf dem Stream-PC. # +# Der uebliche Weg, ein Befehl: +# irm https://git.zeasy.dev/ZeasyAlex/abdulive/raw/branch/main/scripts/install.ps1 | iex +# +# Oder aus einem entpackten Paket heraus, wenn das Netz nicht mitspielt: # .\install.ps1 # -# Aus einem entpackten Paket heraus ausfuehren - install.ps1 liegt darin neben -# node.exe. -# -# Einen `irm ... | iex`-Einzeiler gibt es bewusst nicht: git.zeasy.dev verlangt -# instanzweit eine Anmeldung und antwortet auf jede Adresse mit einer Umleitung -# auf /user/login. `iex` fuehrt die Anmeldeseite dann als PowerShell aus, mit -# einer Fehlermeldung, aus der niemand die Ursache ablesen kann. Wer eine -# Ablage ohne Anmeldung hat, gibt sie mit -Quelle an; dann laedt das Skript -# das Paket selbst. +# Der Einzeiler funktioniert nur, weil das Repo oeffentlich ist. Solange es +# privat war, antwortete git.zeasy.dev auf jede Adresse mit einer Umleitung +# auf /user/login - `iex` fuehrte dann die Anmeldeseite als PowerShell aus. +# Deshalb prueft das Skript unten, ob wirklich JSON zurueckkommt. # # Ohne Administratorrechte, mit Absicht: Programm und Daten liegen im Profil # des Benutzers, damit auch Updates ohne Rueckfrage durchlaufen. Siehe @@ -18,10 +17,9 @@ [CmdletBinding()] param( - # Nur noetig, wenn nicht aus einem entpackten Paket heraus installiert - # wird. Dort muessen abdulive.json und die ZIP-Datei ohne Anmeldung - # erreichbar sein. - [string]$Quelle, + # Wird nur gebraucht, wenn nicht aus einem entpackten Paket heraus + # installiert wird. Dort liegen abdulive.json und die ZIP-Datei. + [string]$Quelle = 'https://git.zeasy.dev/ZeasyAlex/abdulive/releases/download/latest', [string]$Ziel = (Join-Path $env:LOCALAPPDATA 'Programs\abdulive'), [switch]$KeinAutostart ) @@ -49,16 +47,6 @@ $ausPaket = $hier -and (Test-Path (Join-Path $hier 'node.exe')) if ($ausPaket) { Schritt "Installiere aus dem entpackten Paket ($hier)" $quellordner = $hier -} elseif (-not $Quelle) { - Write-Host '' - Write-Host 'Dieses Skript liegt nicht neben einem Paket, und -Quelle ist nicht gesetzt.' -ForegroundColor Red - Write-Host '' - Write-Host 'Entweder:' - Write-Host ' - das Paket herunterladen, entpacken und darin install.ps1 ausfuehren' - Write-Host ' - oder eine Ablage angeben, unter der abdulive.json ohne Anmeldung liegt:' - Write-Host ' .\install.ps1 -Quelle https://.../abdulive' - Write-Host '' - exit 1 } else { Schritt 'Lade das aktuelle Paket' $tmp = Join-Path $env:TEMP ("abdulive-" + [guid]::NewGuid().ToString('N').Substring(0, 8))