diff --git a/scripts/Windows/Config/Thunderbird/Install.ps1 b/scripts/Windows/Config/Thunderbird/Install.ps1 index f478b2b9..cd439531 100644 --- a/scripts/Windows/Config/Thunderbird/Install.ps1 +++ b/scripts/Windows/Config/Thunderbird/Install.ps1 @@ -1,38 +1,8 @@ #!/bin/pwsh -param($context) - -. "$PSScriptRoot/../../Scripts/Context.ps1"; - -[Context] $context = $context; -$tempDir = $context.GetTempDirectory(); - -Push-Location $tempDir; -$configFile = "$tempDir/DefaultAssociations.xml"; +. "$PSScriptRoot/../../Scripts/AppAssociations.ps1"; +$applicationName = "Thunderbird"; +Write-Host "Configuring Thunderbird"; Write-Information "Making Thunderbird the default Mail 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")) { - switch ($association.Identifier) { - "mailto" { - $association.ApplicationName = "Thunderbird"; - $association.ProgId = "Thunderbird.Url.mailto"; - }; - ".eml" { - $association.ApplicationName = "Thunderbird"; - $association.ProgId = "ThunderbirdEML"; - }; - } -} - -$defaultAssociations.Save($configFile); -DISM /Online "/Import-DefaultAppAssociations:$configFile"; - -Pop-Location; -Remove-Item -Recurse $tempDir; +Set-DefaultAppAssociation "mailto" "Thunderbird.Url.mailto" $applicationName; +Set-DefaultAppAssociation ".eml" "ThunderbirdEML" $applicationName; diff --git a/scripts/Windows/Config/WinSCP/Install.ps1 b/scripts/Windows/Config/WinSCP/Install.ps1 index a7fc0c24..89a4f28e 100644 --- a/scripts/Windows/Config/WinSCP/Install.ps1 +++ b/scripts/Windows/Config/WinSCP/Install.ps1 @@ -1,32 +1,6 @@ #!/bin/pwsh -param($context) - -. "$PSScriptRoot/../../Scripts/Context.ps1"; - -[Context] $context = $context; -$tempDir = $context.GetTempDirectory(); - -Push-Location $tempDir; -$configFile = "$tempDir/DefaultAssociations.xml"; +. "$PSScriptRoot/../../Scripts/AppAssociations.ps1"; +Write-Host "Configuring WinSCP"; 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; +Set-DefaultAppAssociation "ftp" "WinSCP.Url" "WinSCP: SFTP, FTP, WebDAV, S3 and SCP client";