Make WinSCP the default ftp program

This commit is contained in:
Manuel Thalmann 2023-07-24 23:38:58 +02:00
parent 748d37bbf0
commit 0d6803a83c
2 changed files with 33 additions and 0 deletions

View file

@ -0,0 +1,32 @@
#!/bin/pwsh
param($context)
. "$PSScriptRoot/../../Scripts/Context.ps1";
[Context] $context = $context;
$tempDir = $context.GetTempDirectory();
Push-Location $tempDir;
$configFile = "$tempDir/DefaultAssociations.xml";
Write-Information "Making WinSCP the default FTP program";
DISM /Online "/Export-DefaultAppAssociations:$configFile";
[xml]$defaultAssociations = [xml]::new();
$defaultAssociations.PreserveWhitespace = $true;
$reader = [System.Xml.XmlReader]::Create("$configFile", $readerSettings);
$defaultAssociations.Load($reader);
$reader.Dispose();
foreach ($association in $defaultAssociations.SelectNodes("/DefaultAssociations/Association")) {
if ($association.Identifier -eq "ftp") {
$association.ProgId = "WinSCP.Url";
$association.ApplicationName = "WinSCP: SFTP, FTP, WebDAV, S3 and SCP client";
}
}
$defaultAssociations.Save($configFile);
DISM /Online "/Import-DefaultAppAssociations:$configFile";
Pop-Location;
Remove-Item -Recurse $tempDir;

View file

@ -5,3 +5,4 @@ param($context);
[Context] $context = $context;
choco install -y winscp;
. "$PSScriptRoot/../../Config/WinSCP/Install.ps1" $context;