From 1231cfa663bb2863471fe009e83ac723cd2f1f5e Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 7 Aug 2024 18:30:14 +0200 Subject: [PATCH] Add a script for installing WinSCP --- scripts/Windows/OS/Install.ps1 | 20 +++++++++++------ scripts/Windows/Software/WinSCP/Manage.ps1 | 25 ++++++++++++++++++++++ 2 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 scripts/Windows/Software/WinSCP/Manage.ps1 diff --git a/scripts/Windows/OS/Install.ps1 b/scripts/Windows/OS/Install.ps1 index 547ff9e7..61821bd0 100644 --- a/scripts/Windows/OS/Install.ps1 +++ b/scripts/Windows/OS/Install.ps1 @@ -171,13 +171,21 @@ $null = New-Module { } }; - # Windows Config - . "$PSScriptRoot/../Software/Windows/Manage.ps1" @arguments; + $null = New-Module { + # Windows Config + $softwarePath = "$PSScriptRoot/../Software"; + . "$softwarePath/Windows/Manage.ps1" @arguments; - if (Test-Collection "essential") { - # Essentials - . "$PSScriptRoot/../Software/OpenSSH/Manage.ps1" @arguments; - } + if (Test-Collection "essential") { + # Essentials + . "$softwarePath/OpenSSH/Manage.ps1" @arguments; + } + + if (Test-Collection "common") { + # Common Software + . "$softwarePath/WinSCP/Manage.ps1" @arguments; + } + }; } switch (Get-Stage) { diff --git a/scripts/Windows/Software/WinSCP/Manage.ps1 b/scripts/Windows/Software/WinSCP/Manage.ps1 new file mode 100644 index 00000000..150fc1af --- /dev/null +++ b/scripts/Windows/Software/WinSCP/Manage.ps1 @@ -0,0 +1,25 @@ +using namespace Microsoft.Win32; + +param( + $Action, + [hashtable] $Arguments +) + +. "$PSScriptRoot/../../Scripts/AppAssociations.ps1"; +. "$PSScriptRoot/../../Scripts/Software.ps1"; +. "$PSScriptRoot/../../Scripts/System.ps1"; + +Start-SoftwareInstaller @PSBoundParameters ` + -Installer { + param( + [scriptblock] $Installer + ) + + Install-ChocoPackage winscp; + & $Installer -Action ([InstallerAction]::Configure) + } ` + -Configurator { + Remove-DesktopIcon "WinSCP*"; + Write-Host "Making WinSCP the default FTP program…"; + Set-DefaultAppAssociation -Identifier "ftp" -ProgId "WinSCP.Url" -ApplicationName "WinSCP: SFTP, FTP, WebDAV, S3 and SCP client"; + };