PortValhalla/scripts/Windows/Software/PinnedItem/Manage.ps1

36 lines
1.1 KiB
PowerShell
Raw Normal View History

. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
. "$PSScriptRoot/../../../Common/Software/PowerShell/Module.ps1";
2024-08-08 02:36:35 +00:00
2024-08-22 21:55:41 +00:00
$parameters = Get-ModuleInstallerComponents "PinnedItem" -NativeOnly -NoProfile;
2024-08-08 02:36:35 +00:00
foreach ($key in $PSBoundParameters.Keys) {
$parameters.Add($key, $PSBoundParameters.TryGetValue($key));
}
$context = $parameters.context;
$context.Add("Installer", $parameters.installer);
2024-09-30 03:00:20 +00:00
Start-SoftwareInstaller @args @parameters -Installer {
param(
[hashtable] $Context
)
$providerName = "NuGet";
$module = $Context.Name;
if ({ $null = powershell -c "Get-PackageProvider -ListAvailable $providerName"; $? }) {
$null = powershell -c "Install-PackageProvider -Force $providerName";
}
& $Context.Installer @PSBoundParameters;
if (-not (& { powershell -NoProfile -Command "Import-Module $module; exit ([bool]`$Error)" 2> $null; $?; })) {
$feature = "NetFx3";
if ((Get-WindowsOptionalFeature -Online -FeatureName $feature).State -ne "Enabled") {
Write-Host "Enabling ``$feature`` feature…";
choco install --source windowsFeatures -y $feature;
}
}
}