-#!/usr/bin/env pwsh
-
-# If a command returns an error, halt the script.
-$ErrorActionPreference = 'Stop'
-
-# Ignore progress events from cmdlets so Invoke-WebRequest is not painfully slow
-$ProgressPreference = 'SilentlyContinue'
-
-# Switch to userprofile
-pushd $Env:USERPROFILE
-
-# Make paths if needed
-if (!(Test-Path -Path .local\bin))
-{
- New-Item -Path .local\bin -ItemType Directory
-}
-
-# {{ baseurl }}
-# {{ version }}
-
-# Enter path
-pushd .local\bin
-
-# TODO SetStrictMode
-# TODO Test-Path variable:global:Env:WEBI_HOST ???
-IF($Env:WEBI_HOST -eq $null -or $Env:WEBI_HOST -eq "")
-{
- $Env:WEBI_HOST = "https://webinstall.dev"
-}
-
-# Fetch webi.bat
-echo "$Env:WEBI_HOST/packages/_webi/webi.ps1"
-curl.exe -s -A "windows" "$Env:WEBI_HOST/packages/_webi/webi.ps1.bat" -o webi.bat
-curl.exe -s -A "windows" "$Env:WEBI_HOST/packages/_webi/webi.ps1" -o webi.ps1
-
-popd
-
-# Run webi.ps1
-#TODO Set-ExecutionPolicy -ExecutionPolicy Bypass
-Invoke-Expression "powershell -ExecutionPolicy Bypass .\.local\bin\webi.ps1 {{ exename }}"
-
-# Run pathman to set up the folder
-#& "$Env:USERPROFILE\.local\bin\pathman.exe" add "$Env:USERPROFILE\.local\.bin"
-& "$Env:USERPROFILE\.local\bin\pathman.exe" add .local\.bin
-
-# Done
+# Download the latest webi, then install {{ exename }}
+IF (!(Test-Path -Path .local\bin)) { New-Item -Path .local\bin -ItemType Directory }
+IF ($Env:WEBI_HOST -eq $null -or $Env:WEBI_HOST -eq "") { $Env:WEBI_HOST = "https://webinstall.dev" }
+curl.exe -s -A "windows" "$Env:WEBI_HOST/packages/_webi/webi.ps1" -o "$Env:USERPROFILE\.local\bin\webi.ps1"
+pushd "$Env:USERPROFILE"
+& powershell -ExecutionPolicy Bypass ".local\bin\webi.ps1" "{{ exename }}"
popd
{
New-Item -Path .local\bin -ItemType Directory
}
+Set-Content -Path .local\bin\webi.bat -Value "echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\webi.ps1 %1`r`npopd"
if (!(Test-Path -Path .local\opt))
{
New-Item -Path .local\opt -ItemType Directory
# TODO del .\.local\tmp\pathman-setup.bat
}
+# Run pathman to set up the folder
+#& "$Env:USERPROFILE\.local\bin\pathman.exe" add "$Env:USERPROFILE\.local\.bin"
+& "$Env:USERPROFILE\.local\bin\pathman.exe" add .local\.bin
+
# {{ baseurl }}
# {{ version }}
# Fetch <whatever>.ps1
-echo "$Env:WEBI_HOST/packages/$exename/install.ps1"
-echo "$exename.install.ps1"
-
# TODO detect formats
# Invoke-WebRequest -UserAgent "Windows amd64" "$Env:WEBI_HOST/api/installers/$exename.ps1?formats=zip,tar" -OutFile ".\.local\tmp\$exename.install.ps1"
+echo "Downloading $Env:WEBI_HOST/api/installers/$exename.ps1?formats=zip,tar"
& curl.exe -fsSL -A "$Env:WEBI_UA" "$Env:WEBI_HOST/api/installers/$exename.ps1?formats=zip,tar" -o .\.local\tmp\$exename.install.ps1
# Run <whatever>.ps1