Set Firefox as the default browser

This commit is contained in:
Manuel Thalmann 2023-07-20 20:15:39 +02:00
parent 1d0c78f61b
commit 2f2ccbbe9d

View file

@ -3,6 +3,57 @@
function Install-Firefox {
param([Context] $context)
$tempDir = $context.GetTempDirectory();
$configFile = "DefaultAssociations.xml";
Push-Location $tempDir;
Write-Host "Installing Firefox";
choco install -y firefox;
Write-Information "Making Firefox the default browser";
DISM /Online "/Export-DefaultAppAssociations:DefaultAssociations.xml";
[xml]$defaultAssociations = [xml]::new();
$defaultAssociations.PreserveWhitespace = $true;
$reader = [System.Xml.XmlReader]::Create("$drive\Autounattend.template.xml", $readerSettings);
$defaultAssociations.Load($reader);
$extensions = @(
".htm",
".html",
".mht",
".mhtml",
".svg",
".xht",
".xhtml"
);
$schemes = @(
"ftp",
"http",
"https"
);
foreach ($association in $defaultAssociations.SelectNodes("/DefaultAssociations/Association")) {
[string] $className = $null;
if (($extensions + $schemes) -contains $association.Identifier) {
$association.ApplicationName = "Firefox";
if ($extensions -contains $association.Identifier) {
$className = "FirefoxHTML";
} else {
$className = "FirefoxURL";
}
$association.ProgId = "$className-308046B0AF4A39CB"
}
}
$defaultAssociations.Save($configFile);
DISM /Online "/Import-DefaultAppAssociations:$configFile";
Pop-Location;
Remove-Item -Recurse $tempDir;
}